An assortment of utilities for the Python Trio async/await framework, including:
wait_any
,wait_all
,move_on_when
- avoid nursery blocks for simple casesAsyncBool
,AsyncValue
- value wrappers with the ability to wait for a specific value or transitionperiodic
- periodic loop which accounts for its own execution time@trio_async_generator
- decorator which adapts a generator containing Trio constructs for safe useazip
,azip_longest
- async zip with parallel iterationRepeatedEvent
- if you really, really want to reuse an event- and more (... obscure stuff you probably don't need)!
See the online documentation for details.
pip install trio-util
What attributes make a good utility function or class?
- of general use, intuitive, hard to use incorrectly
- makes code more readable and reduces cognitive load
- already vetted for a length of time within a project, ideally used by multiple developers
If you have something that would be a good fit for trio-util, please open an issue on GitHub. We'll want to review the design, naming, and documentation.
This software is not supported by GROOVE X, Inc., and GROOVE X specifically disclaims all warranties as to its quality, merchantability, or fitness for a particular purpose.