Gevent compatibility or async API?


#1

Hi, we’re considering aerospike for a few projects but all our servers use gevent.

Are there any plans to make the Python client work with gevent? We did some basic tests and it /looks/ like the API is always synchronous and wouldn’t be compatible with gevent, but I figured it’d be good to have someone more expert confirm it.

We’re looking for either explicit gevent support (or compatibility if gevent monkeypatching is used) or an asynchronous API we could use to build it ourselves.

Thanks for any info you can share! -Dave


#2

Currently, the python library is fully synchronous. We currently do not have plans to make it asynchronous capable. You are welcome to develop an asynchronous Python client, and we may be able provide some assistance if needed.

If I were to do it, I would use the Ruby or Go clients (links below) as reference on how to interface with the server.

Cheers, Chris


#3

Got it. Thanks for the quick reply - much appreciated!


#4

For what it’s worth, we wanted to use Aerospike for a need at our company but the lack of a gevent-compatible python driver is holding us back and forcing us to use Mongodb instead :frowning: We’d work on the client ourselves but deadlines… grumble grumble.


#5

Hey Joshua,

Async clients are a work in progress, but there is none such for Python, via gevent or otherwise. It’s something we’ve been discussing, but part of the alleged benefit of open source is other people having open access to make their own client - not much luck so far with that approach :wink: . When we get to it I’ll ping you.


#6

Any ETA on when the async py clients will be available ?


#7

Might as well cross-link to the issue on the GitHub repo: