sniffio: Sniff out which async library your code is running under
You’re writing a library. You’ve decided to be ambitious, and support multiple async I/O packages, like Trio, and asyncio, and … You’ve written a bunch of clever code to handle all the differences. But… how do you know which piece of clever code to run?
This is a tiny package whose only purpose is to let you detect which async library your code is running under.
Documentation: https://sniffio.readthedocs.io
Bug tracker and source code: https://github.com/python-trio/sniffio
License: MIT or Apache License 2.0, your choice
Contributor guide: https://trio.readthedocs.io/en/latest/contributing.html
Code of conduct: Contributors are requested to follow our code of conduct in all project spaces.
This library is maintained by the Trio project, as a service to the async Python community as a whole.
Quickstart
from sniffio import current_async_library
import trio
import asyncio
async def print_library():
library = current_async_library()
print("This is:", library)
# Prints "This is trio"
trio.run(print_library)
# Prints "This is asyncio"
asyncio.run(print_library())
For more details, including how to add support to new async libraries, please peruse our fine manual.
Release files for sniffio 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sniffio-1.3.0.tar.gz | 17.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sniffio-1.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.3 kB
Release files / sniffio-1.3.0.tar.gz
| Download URL | sniffio-1.3.0.tar.gz |
|---|---|
| Size | 17.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101
|
|
BLAKE2b-256 checksum How to use checksums |
cd50d49c388cae4ec10e8109b1b833fd265511840706808576df3ada99ecb0ac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.6
|
Release files / sniffio-1.3.0-py3-none-any.whl
| Download URL | sniffio-1.3.0-py3-none-any.whl |
|---|---|
| Size | 10.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384
|
|
BLAKE2b-256 checksum How to use checksums |
c3a05dba8ed157b0136607c7f2151db695885606968d1fae123dc3391e0cfdbf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.6
|