Back to Explore

python-trio/sniffio

GitHub
1 watchersOpen source

Last release: 2/25/2024

Sniffio is a small Python library that detects which async I/O framework your code is running under, such as Trio or asyncio. It is useful for library authors who want to select the right async integration logic based on the active async environment.

Project status

  • Actively maintained indicators are mixed but present: the upstream GitHub shows a recent push on 2026-03-06, though the most recent tagged update in the provided history is v1.3.1 from 2024-02-25.
  • Update cadence appears infrequent and bursty, with tagged updates roughly at 2019, 2020, 2022, and 2024, suggesting maintenance rather than rapid, regular iteration.

AI summary generated 2 weeks ago

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v1.3.1

    2/25/2024

    Version 1.3.1 primarily includes a small runtime API exposure fix around `sniffio.thread_local`, plus build and CI modernization. The diff also removes `setup.py` in favor of a `pyproject.toml` based build configuration, which can affect older build tooling expectations.

    Breaking
  • v1.3.0

    9/1/2022

    Version 1.3.0 adds Python 3.9 and 3.10 support and introduces a new mechanism, sniffio.thread_local.name, for coroutine libraries to declare the active async library. It also drops support for Python 3.5 and 3.6 (python requirement raised).

    BreakingFeatures
  • v1.2.0

    10/11/2020

    The publisher did not provide release notes for v1.2.0, so there is no documented information about new features, fixes, or breaking changes. Developers should review the corresponding code changes and changelog/PR history to determine upgrade impact.

  • v1.1.0

    4/20/2019

    This release updates sniffio to recognize Curio as a supported async library, and bumps the test matrix and version metadata to 1.1.0. The core API behavior change is in how sniffio determines the current async framework at runtime.

    Features
  • v1.0.0

    8/1/2018

    This release is tagged v1.0.0, but no release notes or change descriptions were provided. As a result, the upgrade impact, including potential breaking changes, cannot be determined from the release notes alone.