Skip to content

python-trio/sniffio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a1cc169 · Feb 25, 2024

History

83 Commits
Sep 11, 2023
Aug 31, 2022
Feb 25, 2024
Feb 25, 2024
Feb 25, 2024
Jul 28, 2018
Jul 28, 2018
Oct 11, 2020
Feb 24, 2024
Jul 28, 2018
Jul 28, 2018
Jul 28, 2018
Jul 28, 2018
Jul 28, 2018
Jul 28, 2018
Jul 28, 2018
Jul 28, 2018
Aug 17, 2018
Feb 24, 2024
Feb 24, 2024
Nov 25, 2018
Join chatroom Documentation Status Latest PyPi version Latest conda-forge version Automated test status Test coverage

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.

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.