What are "all the other usual python libs"?
> I mean just generally any Python lib out there is not going to be
> async compatible, unless specially written for async, isn't it? If
> your project has about 20 dependencies, and each of them has a chance
> of blocking async then it quite probably won't work, will it?
If these libraries do something computationally intensive, it will block
the interpreter in with both an async or sync architecture ....
The main difference between the two architectures is how tasks that
involve IO are being managed. Usually libraries using different
architecture models aren't directly inter-operable
> If you are interested, here is a list of 93 modules I'm using in a
> current project: alembic appnope awesome-slugify awscli
> backports.shutil-get-terminal-size bcrypt bleach boto3 botocore cffi
> colorama contextlib2 decorator dnspython docutils email-validator
> enum34 fastkml futures geoip2 geojson gpxpy gunicorn html2text
> html5lib huey hupper idna infinity intervals ipaddress
> ipython-genutils ipython jinja2 jmespath lxml mako markupsafe
> marrow.mailer marrow.util maxminddb passlib paste pastedeploy pathlib2
> pexpect pickleshare prompt-toolkit psycopg2 ptyprocess pyasn1
> pycparser pygeoif pygments pyramid-ipython pyramid-jinja2
> pyramid-redis-sessions pyramid-tm pyramid python-dateutil
> python-editor pyyaml raven redis regex repoze.lru requests rsa
> s3transfer scandir shapely simplegeneric simplejson six
> sqlalchemy-utils sqlalchemy traitlets transaction translationstring
> ua-parser unidecode validators venusian waitress wcwidth webencodings
> webob wtforms-alchemy wtforms-components wtforms zope.deprecation
> zope.interface zope.sqlalchemy
> Even without sqlalchemy, it simply not possible that this would work in asyncio.
Here the main remaining issue is with pyramid, but there are some
libraries that try to let you use pyramid and asyncio... have you tried
them or if you don't specifically need to use pyramid jinja can be used
> When I was referring to sync mode, I was talking about the simple,
> blocking concept of the Paho MQTT client, like in this example:
> Afaik, this code will just block all other messages and queue them at
> the broker, until it can receive the new message. The good thing about
> it is that this way it can just work with all the existing Python
you think? looking at that "mqttc.loop_forever()" last line it seems
that in order for it to work together with other server frameworks like
pyramid it will need at least some integration code.