trio-util
trio-util copied to clipboard
Utility library for the Python Trio async/await framework
trio-util
An assortment of utilities for the Python Trio async/await framework, including:
-
wait_any
,wait_all
,move_on_when
- avoid nursery blocks for simple cases -
AsyncBool
,AsyncValue
- value wrappers with the ability to wait for a specific value or transition -
periodic
- periodic loop which accounts for its own execution time -
@trio_async_generator
- decorator which adapts a generator containing Trio constructs for safe use -
azip
,azip_longest
- async zip with parallel iteration -
RepeatedEvent
- if you really, really want to reuse an event - and more (... obscure stuff you probably don't need)!
See the online documentation for details.
Installation
pip install trio-util
Contributing
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.
Disclaimer
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.