Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Install Python client from PIP #173

Open
santiagobasulto opened this issue Jul 29, 2014 · 10 comments
Open

Install Python client from PIP #173

santiagobasulto opened this issue Jul 29, 2014 · 10 comments

Comments

@santiagobasulto
Copy link

As I'm seeing the python client is tightly coupled to the whole project. It'd be nice to install it through PIP (pypi). There's other related issue for node.js as well: #160.

This raise my question. Is there any communication layer you're planning to build? Something like Thrift or similar?

@rescrv
Copy link
Owner

rescrv commented Jul 29, 2014

We do plan to add support for installing the Python client through pypi.

As for a communication layer, we don't have any plans to add one as it would quite literally be no more efficient than writing a program to proxy thrift calls through the existing client library. If someone writes such a module, we would consider incorporating it.

@SmithSamuelM
Copy link

Any progress here. Frustrated trying to use python client hyperdex with Python3. No easy install path for that

@rescrv
Copy link
Owner

rescrv commented Dec 4, 2015

If you do ./configure --disable-all-components --enable-client --enable-python-bindings PYTHON=/path/to/python3 with the latest Git code, you can install Python3 bindings.

@SmithSamuelM
Copy link

Do I have to install all the dependencies from the latest hyperdex github repo as in
busybee, replicant, hyperleveldb?

@SmithSamuelM
Copy link

There is no ./configure in the repo. I tried running autoconf

$ autoconf
configure.ac:12: error: possibly undefined macro: AM_INIT_AUTOMAKE
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:14: error: possibly undefined macro: AM_PATH_PYTHON
configure.ac:28: error: possibly undefined macro: AM_CONDITIONAL
configure.ac:62: error: possibly undefined macro: AC_PROG_JAR
configure.ac:63: error: possibly undefined macro: AC_PROG_JAVAC
configure.ac:64: error: possibly undefined macro: AC_JNI_INCLUDE_DIR
configure.ac:194: error: possibly undefined macro: AC_PYTHON_DEVEL

The resulting configure script fails

$ ./configure --disable-all-components --enable-client --enable-python-bindings PYTHON=/usr/local/bin/python3
./configure: line 2426: syntax error near unexpected token foreign' ./configure: line 2426:AM_INIT_AUTOMAKE(foreign'

Some more guidance would be most helpful. Apparently you are able to build it from source on OS X. How about a command line summary of how you build it.

I installed all the dependencies with home-brew

@SmithSamuelM
Copy link

This is what I did.

$ brew install busybee
$ brew install hyperleveldb
$ brew install replicant

$ git clone https://github.com/rescrv/HyperDex.git
$ cd HyperDex

$ autoconf
configure.ac:12: error: possibly undefined macro: AM_INIT_AUTOMAKE
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:14: error: possibly undefined macro: AM_PATH_PYTHON
configure.ac:28: error: possibly undefined macro: AM_CONDITIONAL
configure.ac:62: error: possibly undefined macro: AC_PROG_JAR
configure.ac:63: error: possibly undefined macro: AC_PROG_JAVAC
configure.ac:64: error: possibly undefined macro: AC_JNI_INCLUDE_DIR
configure.ac:194: error: possibly undefined macro: AC_PYTHON_DEVEL


$ ./configure --disable-all-components --enable-client --enable-python-bindings PYTHON=/usr/local/bin/python3

./configure: line 2426: syntax error near unexpected token `foreign'
./configure: line 2426: `AM_INIT_AUTOMAKE(foreign'

@SmithSamuelM
Copy link

BTW: See this issue #227 but even the python2 bindings
do not work when installed from home-brew. So essentially Hyperdex python is broken for OS X.

I have a project that I am evaluating Hyperdex for with a short fuse, I need asynchronous python bindings because our app architecture uses asynchronous io in python. CouchDB will work because of its rest interface but I was really impressed by the Hyperdex clustering support as a step up, but looks like its just not ready for prime time yet.

@SmithSamuelM
Copy link

Any help would be appreciated. Anyone able to build hyperdex with python bindings on OS X ElCapitain?

@rescrv
Copy link
Owner

rescrv commented Dec 12, 2015

For most of its existence, HyperDex was developed by just a single person, me. In that time, I've gotten divorced from my spouse of nearly a decade, was nearly bankrupted by the process, and remained a full-time PhD student. All the while, people compare HyperDex to projects with dozens to hundreds of developers (often backed by companies with cash to burn), and think that it's "just not ready for prime time" because of issues.

I'm sorry for the rant, but I don't do any development on OS X, and haven't been able to keep up with the changes they keep making to homebrew or the underlying development environment. The error you have above stems from not having automake installed. Can you try installing it? Also, I'd recommend running "autoreconf -i" instead of manually running the autoconf/automake commands.

@SmithSamuelM
Copy link

I appreciate your rant. It is helpful to know that your team is so small. I thought otherwise given the web pages description of the extensiveness of the API interfaces etc. I would like to help out. If you could provide a command line log of how you build it from source on OS X the last time you make it work I will try to see if I can figure out how to make it work given the latest version of OS X. I will try the autoreconf -i.. I do have automake installed.
$ which automake
/usr/local/bin/automake
So there is something else we are missing?

You are to be commended. The hyper-hash concept is fantastic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants