{"categories":[{"label":"Software Development","url":"https://skillfed.io/packages/category/software-development/5"}],"enrichment":{"capability":"Provides PEP 561 type stubs and typing utilities for Trio async framework, enabling static type checking with mypy for Trio, outcome, and async_generator packages.","skillfed_tags":["type-stubs","mypy-plugin","async-typing"],"use_cases":["Add static type checking to an existing Trio application by installing the stubs and mypy plugin to catch type errors before runtime.","Define task status types in Trio nursery.start() calls using TaskStatus[T] to ensure type safety across async task boundaries.","Type-check @async_generator decorated functions with full yield, send, and return type inference when using the mypy plugin.","Provide type hints for async generator functions that yield and accept values, using the backported AsyncGenerator type on older Python versions.","Reduce type-checking boilerplate in Trio libraries by using the @takes_callable_and_args decorator to validate variadic function signatures."],"what_it_does":"trio-typing is a collection of PEP 561 type stubs and typing utilities for the Trio async ecosystem. It provides type information for trio, outcome, and async_generator packages so that mypy can type-check code using these libraries. The package also exports runtime types like TaskStatus[T] and AsyncGenerator[YieldT, SendT] that Trio programs often need to reference in their own type annotations.\n\nThe package includes an optional mypy plugin that enhances type checking by inferring specific return types for trio.open_file() based on mode and buffering arguments, reducing boilerplate for functions that take callable-and-args patterns, and providing full type support for @async_generator decorated functions. Runtime dependencies include trio, typing-extensions, mypy-extensions, async-generator, packaging, and importlib-metadata.","worth_installing":"Yes, if you are actively developing Trio code and want static type checking. The package is stable, permissively licensed, and has no known vulnerabilities. However, maintenance is dormant (last release 2023-12-01), so verify that the type stubs remain accurate for your Trio version before relying on it for new projects. The mypy plugin requires mypy 1.0+ and CPython for type checking."},"id":"trio-typing","links":{"html":"https://skillfed.io/packages/trio-typing","md":"https://skillfed.io/packages/trio-typing.md","pypi":"https://pypi.org/project/trio-typing/"},"maintenance":{"status":"dormant"},"meta":{"latest_release":"2023-12-01","license_spdx":null,"license_treatment":"permissive","name":"trio-typing","python_support":"unspecified","summary":"Static type checking support for Trio and related projects"},"popularity":{"monthly_downloads":1402157,"position":3946,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"0.10.0"}
