Back to Trio

Trio: a friendly Python library for async concurrency and I/O

docs/source/index.rst

0.33.03.7 KB
Original Source

.. Trio documentation master file, created by sphinx-quickstart on Sat Jan 21 19:11:14 2017. You can adapt this file completely to your liking, but it should at least contain the root toctree directive.

============================================================= Trio: a friendly Python library for async concurrency and I/O

The Trio project's goal is to produce a production-quality, permissively licensed <https://github.com/python-trio/trio/blob/main/LICENSE>__, 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 <https://www.python.org/dev/peps/pep-0492/>, and draws inspiration from many sources <https://github.com/python-trio/trio/wiki/Reading-list>, in particular Dave Beazley's Curio <https://curio.readthedocs.io/>. The resulting design is radically simpler than older competitors like asyncio <https://docs.python.org/3/library/asyncio.html> and Twisted <https://twistedmatrix.com/>__, 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.

Trio is a mature and well-tested library, though it retains its “experimental” classification to allow for occasional breaking API changes as we push toward a 1.0 release. In practice, such changes are rare and typically minor. It is widely used in production environments, and we do encourage you do use it, but consider subscribing to issue #1 <https://github.com/python-trio/trio/issues/1>__ to get a warning and a chance to give feedback about any compatibility-breaking changes.

Vital statistics:

.. toctree:: :maxdepth: 2 :caption: Trio's friendly, yet comprehensive, manual:

tutorial.rst awesome-trio-libraries.rst reference-core.rst reference-io.rst reference-testing.rst reference-lowlevel.rst design.rst history.rst contributing.rst releasing.rst code-of-conduct.rst

.. once https://github.com/sphinx-doc/sphinx/issues/13733 is merged, add genindex above

==================== Indices and tables

  • :ref:genindex
  • :ref:modindex
  • :ref:search
  • :ref:glossary