Skip to content

Commit 6a1b309

Browse files
committed
Switch to src-based project layout
1 parent 6d68050 commit 6a1b309

File tree

16 files changed

+204
-0
lines changed

16 files changed

+204
-0
lines changed

src/trio_asyncio.egg-info/PKG-INFO

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
Metadata-Version: 2.4
2+
Name: trio_asyncio
3+
Version: 0.15.0+dev
4+
Summary: A re-implementation of the asyncio mainloop on top of Trio
5+
Author-email: Matthias Urlichs <matthias@urlichs.de>
6+
License-Expression: MIT OR Apache-2.0
7+
Project-URL: Homepage, https://github.com/python-trio/trio-asyncio
8+
Project-URL: Documentation, http://trio-asyncio.readthedocs.io
9+
Project-URL: Changelog, https://trio-asyncio.readthedocs.io/en/latest/history.html
10+
Keywords: async,io,trio,asyncio,trio-asyncio
11+
Classifier: Development Status :: 4 - Beta
12+
Classifier: Intended Audience :: Developers
13+
Classifier: Operating System :: POSIX :: Linux
14+
Classifier: Operating System :: MacOS :: MacOS X
15+
Classifier: Operating System :: POSIX :: BSD
16+
Classifier: Operating System :: Microsoft :: Windows
17+
Classifier: Programming Language :: Python :: Implementation :: CPython
18+
Classifier: Programming Language :: Python :: Implementation :: PyPy
19+
Classifier: Programming Language :: Python :: 3 :: Only
20+
Classifier: Programming Language :: Python :: 3.9
21+
Classifier: Programming Language :: Python :: 3.10
22+
Classifier: Programming Language :: Python :: 3.11
23+
Classifier: Programming Language :: Python :: 3.12
24+
Classifier: Programming Language :: Python :: 3.13
25+
Classifier: Topic :: System :: Networking
26+
Classifier: Framework :: Trio
27+
Classifier: Framework :: AsyncIO
28+
Requires-Python: >=3.9
29+
Description-Content-Type: text/x-rst
30+
License-File: LICENSE
31+
License-File: LICENSE.APACHE2
32+
License-File: LICENSE.MIT
33+
Requires-Dist: trio>=0.22.0
34+
Requires-Dist: outcome
35+
Requires-Dist: sniffio>=1.3.0
36+
Requires-Dist: exceptiongroup>=1.0.0; python_version < "3.11"
37+
Requires-Dist: greenlet
38+
Provides-Extra: tests
39+
Requires-Dist: pytest>=5.4; extra == "tests"
40+
Requires-Dist: pytest-trio>=0.6; extra == "tests"
41+
Dynamic: license-file
42+
43+
.. image:: https://img.shields.io/pypi/v/trio-asyncio.svg
44+
:target: https://pypi.org/project/trio-asyncio
45+
:alt: Latest PyPI version
46+
47+
.. image:: https://img.shields.io/badge/chat-join%20now-blue.svg
48+
:target: https://gitter.im/python-trio/general
49+
:alt: Join chatroom
50+
51+
.. image:: https://img.shields.io/badge/docs-read%20now-blue.svg
52+
:target: https://trio-asyncio.readthedocs.io/en/latest/?badge=latest
53+
:alt: Documentation status
54+
55+
.. image:: https://github.com/python-trio/trio-asyncio/actions/workflows/ci.yml/badge.svg
56+
:target: https://github.com/python-trio/trio-asyncio/actions/workflows/ci.yml
57+
:alt: Automated test status
58+
59+
.. image:: https://codecov.io/gh/python-trio/trio-asyncio/branch/master/graph/badge.svg
60+
:target: https://codecov.io/gh/python-trio/trio-asyncio
61+
:alt: Test coverage
62+
63+
64+
==============
65+
trio-asyncio
66+
==============
67+
68+
**trio-asyncio** is a re-implementation of the ``asyncio`` mainloop on top of
69+
Trio.
70+
71+
trio-asyncio requires at least Python 3.9. It is tested on recent versions of
72+
3.9 through 3.13.
73+
74+
+++++++++++
75+
Rationale
76+
+++++++++++
77+
78+
Trio has native concepts of tasks and task cancellation. Asyncio is based
79+
on callbacks and chaining Futures, albeit with nicer syntax, making
80+
handling failures and timeouts fundamentally less reliable, especially in
81+
larger programs. Thus, you *really* want to base your async project on Trio.
82+
83+
On the other hand, there are quite a few asyncio-enhanced libraries. You
84+
*really* don't want to re-invent any wheels in your project.
85+
86+
Thus, being able to use asyncio libraries from Trio is useful.
87+
trio-asyncio enables you to do that and more.
88+
89+
--------------------------------------
90+
Transparent vs. explicit translation
91+
--------------------------------------
92+
93+
``trio_asyncio`` does not try to magically allow calling ``await
94+
trio_code()`` from asyncio or vice versa. There are multiple reasons for
95+
this; the executive summary is that cross-domain calls can't be made to
96+
work correctly, and any such call is likely to result in an irrecoverable
97+
error. You need to keep your code's ``asyncio`` and ``trio`` domains
98+
rigidly separate.
99+
100+
Fortunately, this is not difficult.
101+
102+
+++++++
103+
Usage
104+
+++++++
105+
106+
Trio-Asyncio's documentation is too large for a README.
107+
108+
For further information, `see the manual on readthedocs <http://trio-asyncio.readthedocs.io/en/latest/>`_.
109+
110+
++++++++++++++
111+
Contributing
112+
++++++++++++++
113+
114+
Like Trio, trio-asyncio is licensed under both the MIT and Apache licenses.
115+
Submitting a patch or pull request implies your acceptance of these licenses.
116+
117+
Testing is done with ``pytest``. Test coverage is pretty thorough; please
118+
keep it that way when adding new code.
119+
120+
See the `Trio contributor guide
121+
<https://trio.readthedocs.io/en/stable/contributing.html>`__ for much
122+
more detail on how to get involved.
123+
124+
Contributors are requested to follow our `code of conduct
125+
<https://trio.readthedocs.io/en/stable/code-of-conduct.html>`__ in all
126+
project spaces.
127+
128+
++++++++
129+
Author
130+
++++++++
131+
132+
Matthias Urlichs <matthias@urlichs.de> originally wrote trio-asyncio.
133+
It is now maintained by the `Trio project <https://github.com/python-trio>`_.

src/trio_asyncio.egg-info/SOURCES.txt

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
.coveragerc
2+
CODE_OF_CONDUCT.md
3+
CONTRIBUTING.md
4+
LICENSE
5+
LICENSE.APACHE2
6+
LICENSE.MIT
7+
MANIFEST.in
8+
README.rst
9+
pyproject.toml
10+
docs/Makefile
11+
docs/make.bat
12+
docs/source/conf.py
13+
docs/source/history.rst
14+
docs/source/index.rst
15+
docs/source/principles.rst
16+
docs/source/usage.rst
17+
docs/source/_static/.gitkeep
18+
src/trio_asyncio/__init__.py
19+
src/trio_asyncio/_adapter.py
20+
src/trio_asyncio/_async.py
21+
src/trio_asyncio/_base.py
22+
src/trio_asyncio/_child.py
23+
src/trio_asyncio/_deprecate.py
24+
src/trio_asyncio/_handles.py
25+
src/trio_asyncio/_loop.py
26+
src/trio_asyncio/_sync.py
27+
src/trio_asyncio/_util.py
28+
src/trio_asyncio/_version.py
29+
src/trio_asyncio.egg-info/PKG-INFO
30+
src/trio_asyncio.egg-info/SOURCES.txt
31+
src/trio_asyncio.egg-info/dependency_links.txt
32+
src/trio_asyncio.egg-info/requires.txt
33+
src/trio_asyncio.egg-info/top_level.txt
34+
tests/__init__.py
35+
tests/conftest.py
36+
tests/module_with_deprecations.py
37+
tests/test_aio_subprocess.py
38+
tests/test_concurrent.py
39+
tests/test_deprecate.py
40+
tests/test_misc.py
41+
tests/test_sync.py
42+
tests/test_trio_asyncio.py
43+
tests/utils.py
44+
tests/aiotest/__init__.py
45+
tests/aiotest/conftest.py
46+
tests/aiotest/test_add_reader.py
47+
tests/aiotest/test_callback.py
48+
tests/aiotest/test_coroutine.py
49+
tests/aiotest/test_network.py
50+
tests/aiotest/test_thread.py
51+
tests/aiotest/test_timer.py
52+
tests/interop/__init__.py
53+
tests/interop/test_adapter.py
54+
tests/interop/test_calls.py
55+
tests/python/__init__.py
56+
tests/scripts/echo.py
57+
tests/scripts/echo2.py
58+
tests/scripts/echo3.py
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
trio>=0.22.0
2+
outcome
3+
sniffio>=1.3.0
4+
greenlet
5+
6+
[:python_version < "3.11"]
7+
exceptiongroup>=1.0.0
8+
9+
[tests]
10+
pytest>=5.4
11+
pytest-trio>=0.6
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
trio_asyncio
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)