Apocrypha

trio

Python library for async concurrency and I/O

The Trio project's goal is to produce a production-quality, permissively licensed, async/await-native I/O library for Python. Like all async libraries, its main purpose is to help you write programs that do multiple things at the same time with parallelized I/O. A web spider that wants to fetch lots of pages in parallel, a web server that needs to juggle lots of downloads and websocket connections at the same time, a process supervisor monitoring multiple subprocesses... that sort of thing. Compared to other libraries, Trio attempts to distinguish itself with an obsessive focus on usability and correctness. Concurrency is complicated; we try to make it easy to get things right. Trio was built from the ground up to take advantage of the latest Python features, and draws inspiration from many sources, in particular Dave Beazley's Curio. The resulting design is radically simpler than older competitors like asyncio and Twisted, yet just as capable. Trio is the Python I/O library I always wanted; I find it makes building I/O-oriented programs easier, less error-prone, and just plain more fun. Perhaps you'll find the same. This project is young and still somewhat experimental: the overall design is solid and the existing features are fully tested and documented, but you may encounter missing functionality or rough edges. We do encourage you to use it, but you should read and subscribe to issue #1 to get warning and a chance to give feedback about any compatibility-breaking changes.

Available in

OverlayNewestEbuildsLast activity
gentoo gitweb ↗ 0.33.0 1 15 h details ›

Versions & arches

VersionOverlay amd64arm64x86ppc64riscvarmloongmipsppcs390sparc Committed
0.33.0 gentoo amd64 stable arm64 stable x86 stable ppc64 stable riscv testing arm stable loong testing mips testing ppc stable s390 testing sparc testing view · download · history ↗

Use flags of 0.33.0

  • test Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
6 expansion flags (python targets, ABIs, cpu flags…)
  • python_targets_python3_14t
  • python_targets_python3_15t
  • python_targets_python3_12
  • python_targets_python3_13
  • python_targets_python3_14
  • python_targets_python3_15

Runtime dependencies of 0.33.0

show 23 lines