sniffio 1.3.1


pip install sniffio

  Latest version

Released: Feb 25, 2024


Meta
Author: Nathaniel J. Smith
Requires Python: >=3.7

Classifiers

License
  • OSI Approved :: MIT License
  • OSI Approved :: Apache Software License

Framework
  • Trio
  • AsyncIO

Operating System
  • POSIX :: Linux
  • MacOS :: MacOS X
  • Microsoft :: Windows

Programming Language
  • Python :: 3 :: Only
  • Python :: Implementation :: CPython
  • Python :: Implementation :: PyPy

Intended Audience
  • Developers

Development Status
  • 5 - Production/Stable
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.

Wheel compatibility matrix

Platform Python 3
any

Files in release

No dependencies