Asynchronous Client

(Amirouche) #1

How would you go to implement an asynchronous client, say in Python 3.6 with asyncio support?

Maybe coding an async client does not make sens. WDYT?

(Will Wilson) #2

All of the released client libraries provide an asynchronous API. I believe the Python client accomplishes this with gevent. A “modernized” Python binding with asyncio, generators, etc. sounds like a great idea!

EDIT: I take it back, these days the Python library uses the native ‘threading’ module rather than gevent.

(Alec Grieser) #3

I believe that one can set the concurrency model (to, for example, gevent) using the model parameter of

I don’t believe that asyncio is supported, but gevent is (modulo bugs).

(David Scherer) #4

The source code seems to think it has asyncio as an option:

elif event_model == ‘asyncio’:


If the documentation doesn’t say what options are valid for event_model that seems like a doc bug!

(Alec Grieser) #5

Oh, woops. So, I guess it would support asyncio, then.

(Amirouche) #6

My understanding is that the client of foundations can have to do a lot of computation in some cases. Think of joins for instance, or group by. So using an asynchronous client doesn’t seem like a good solution.