Can SQLAlchemy be configured to be non-blocking?
asynchronous, database, nonblocking, python, sqlalchemy
Solution
You can use SQLA in a non-blocking style using gevent. Here's an example using psycopg2, using psycopg2's coroutine support:
https://bitbucket.org/zzzeek/green_sqla/
I've also heard folks use the same idea with pymysql. As pymysql is in pure Python and uses the sockets library, gevent patches the socket library to be asynchronous.
Problem
I'm under the impression that database calls through SQLAlchemy will block and aren't suitable for use in anything other than synchronous code. Am I correct (I hope I'm not!) or is there a way to configure it to be non-blocking?