Skip to content

Commit

Permalink
Stop advertising tricycle as experimental
Browse files Browse the repository at this point in the history
It's about 4 years old at this point and is being used in production in many places.
  • Loading branch information
oremanj committed Feb 2, 2024
1 parent 05daf11 commit 0fd5234
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 28 deletions.
43 changes: 21 additions & 22 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
tricycle: experimental extensions for Trio
==========================================
tricycle: miscellaneous extensions for Trio
===========================================

.. image:: https://img.shields.io/pypi/v/tricycle.svg
:target: https://pypi.org/project/tricycle
Expand All @@ -26,27 +26,10 @@ tricycle: experimental extensions for Trio
:alt: Checked with mypy


This is a library of interesting-but-maybe-not-yet-fully-proven extensions to
`Trio <https://github.com/python-trio/trio>`__, the friendly Python library
This is a library of extensions to `Trio
<https://github.com/python-trio/trio>`__, the friendly Python library
for async concurrency and I/O.

While we won't release known-broken code, and we strive for
cleanliness and good test coverage, please be advised that
``tricycle`` is mostly one person's box of tools that seemed like a
good idea at the time, and should be treated with according skepticism
if you're contemplating using it in production. It hasn't necessarily
been reviewed or tested to Trio's standards, it supports at minimum
Python 3.8, and some features might not be available on PyPy or on
Windows.

* If you find that it meets your needs, you're welcome to use it. We'll
endeavor to provide a (short) deprecation period on API changes, but
no guarantees on that yet.

* If you find that it doesn't meet your needs, feel free to `let us know
<https://github.com/oremanj/tricycle/issues>`__, but don't say you
weren't warned. :-)

Currently we have:

* a readers-writer lock (``tricycle.RWLock``)
Expand All @@ -57,7 +40,23 @@ Currently we have:
* a way to make objects that want to keep background tasks running during the
object's lifetime (``tricycle.BackgroundObject`` and the more general
``tricycle.ScopedObject``)
* [watch this space!]
* an analog of ``ContextVar`` that is inherited through the task tree rather
than across ``start_soon()`` calls, and thus provides more safety for
accessing a resource that is being managed by a parent task
(``tricycle.TreeVar``)

While we won't release known-broken code, and we strive for
cleanliness and good test coverage, please be advised that
``tricycle`` is mostly one person's box of tools and has not necessarily
been reviewed or tested to Trio's standards. It *is* being used in
production, and API churn has been minimal thus far although we're not
making any firm stability guarantees. If you find that it doesn't meet
your needs, feel free to `let us know
<https://github.com/oremanj/tricycle/issues>`__ and we'll endeavor to
improve things.

tricycle is tested on Linux, Windows, and macOS, on CPython versions 3.8
through 3.12. It will probably work on PyPy as well.


License and history
Expand Down
9 changes: 5 additions & 4 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@
contain the root `toctree` directive.
==========================================================================
tricycle: Experimental extensions for Trio, the friendly async I/O library
==========================================================================
===========================================================================
tricycle: Miscellaneous extensions for Trio, the friendly async I/O library
===========================================================================

``tricycle`` is a library of extensions to `Trio <https://trio.readthedocs.io/en/latest/>`__ which are a bit too specialized or experimental to include in Trio directly.
``tricycle`` is a library of miscellaneous extensions for `Trio
<https://trio.readthedocs.io/en/latest/>`__.

.. toctree::
:maxdepth: 2
Expand Down
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
setup(
name="tricycle",
version=__version__,
description="Experimental extensions for Trio, the friendly async I/O library",
description="Miscellaneous extensions for Trio, the friendly async I/O library",
url="https://github.com/oremanj/tricycle",
long_description=LONG_DESC,
author="Joshua Oreman",
Expand All @@ -26,7 +26,7 @@
"Operating System :: MacOS :: MacOS X",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: Implementation :: CPython",
"Development Status :: 2 - Pre-Alpha",
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
],
)

0 comments on commit 0fd5234

Please sign in to comment.