Summary
Rationale Trio has native concepts of tasks and task cancellation. Asyncio is based on callbacks and chaining Futures, albeit with nicer syntax, which make handling of failures and timeouts fundamentally less reliable, especially in larger programs. Thus, you really want to base your async project on Trio. On the other hand, there are quite a few asyncio-enhanced libraries. You really don't want to re-invent any wheels in your project. Thus, being able to use asyncio libraries from Trio is useful. trio-asyncio enables you to do that, and more. Transparent vs. explicit translation trio_asyncio does not try to magically allow calling await trio_code() from asyncio or vice versa. There are multiple reasons for this; the executive summary is that cross-domain calls can't be made to work correctly, and any such call is likely to result in an irrecoverable error. You need to keep your code's asyncio and trio domains rigidly separate. Fortunately, this is not difficult.
Versions
v0.12.0 :: 0 :: gentoo
- Modified
- License
- || ( Apache-2.0 MIT )
- Keywords
- ~amd64
- USE flags
- doc test
USE flags
General
- doc
- Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
- test
- Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
python_targets
- python3_10
- Build with Python 3.10
- python3_8
- Build with Python 3.8
- python3_9
- Build with Python 3.9
Runtime Dependencies
dev-lang / python : An interpreted, interactive, object-oriented programming language
dev-python / outcome : Capture the outcome of Python function calls
dev-python / sniffio : Sniff out which async library your code is running under
dev-python / trio : Python library for async concurrency and I/O
Bugs
- 834955
- dev-python/trio-asyncio-0.12.0 fails tests on MUSL
Change logs
- Repository mirror & CI · gentoo
Merge updates from master - Andrew Ammerlaan · gentoo
dev-python/trio-asyncio: enable py3.10
Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Andrew Ammerlaan · gentoo
dev-python/trio-asyncio: import from ::guru
Package-Manager: Portage-3.0.20, Repoman-3.0.3 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>