{"categories":[{"label":"Software Development","url":"https://skillfed.io/packages/category/software-development/4"}],"enrichment":{"capability":"Backports asyncio.TaskGroup, asyncio.Runner, and asyncio.timeout from Python 3.12.8 to Python 3.8\u20133.11, enabling structured concurrency patterns on older Python versions.","skillfed_tags":["asyncio","backport","concurrency"],"use_cases":["Write async code using TaskGroup syntax on older Python versions without waiting for a platform upgrade.","Manage multiple concurrent tasks with automatic exception aggregation and cleanup across Python versions.","Add timeout enforcement to async operations on Python versions that lack native asyncio.timeout.","Migrate legacy async codebases to structured concurrency patterns while maintaining backward compatibility."],"what_it_does":"TaskGroup is a backport of Python 3.12.8's structured concurrency primitives to older Python versions. It provides TaskGroup (for managing groups of concurrent tasks with unified exception handling), Runner (a context manager for running async code), and timeout (for enforcing time limits on async operations). The implementation works by temporarily replacing the current asyncio.Task with a subclass that adds uncancel and context-setting support, allowing most of asyncio's C-accelerated behavior to remain intact.\n\nThis package is useful when you want to write modern async code using Python 3.12's concurrency patterns but need to support older Python environments. It depends on exceptiongroup and typing_extensions to bridge compatibility gaps.","worth_installing":"Yes, if you need TaskGroup or timeout on Python versions prior to 3.12. The package is lightweight, permissively licensed, actively maintained, has no known vulnerabilities, and solves a real compatibility gap. Use conditional imports to avoid redundancy on Python 3.12+."},"id":"taskgroup","links":{"html":"https://skillfed.io/packages/taskgroup","md":"https://skillfed.io/packages/taskgroup.md","pypi":"https://pypi.org/project/taskgroup/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2025-01-03","license_spdx":null,"license_treatment":"permissive","name":"taskgroup","python_support":"unspecified","summary":"backport of asyncio.TaskGroup, asyncio.Runner and asyncio.timeout"},"popularity":{"monthly_downloads":2771696,"position":2895,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"0.2.2"}
