diff --git a/README.rst b/README.rst index 5f28616..0960512 100644 --- a/README.rst +++ b/README.rst @@ -1,8 +1,8 @@ h11 === -.. image:: https://travis-ci.org/python-hyper/h11.svg?branch=master - :target: https://travis-ci.org/python-hyper/h11 +.. image:: https://github.com/python-hyper/h11/actions/workflows/ci.yml/badge.svg + :target: https://github.com/python-hyper/h11/actions :alt: Automated test status .. image:: https://codecov.io/gh/python-hyper/h11/branch/master/graph/badge.svg @@ -83,11 +83,14 @@ scratch, at least I can make sure no-one *else* has to ever again. *Should I use it?* -Maybe. You should be aware that it's a very young project. But, it's -feature complete and has an exhaustive test-suite and complete docs, -so the next step is for people to try using it and see how it goes -:-). If you do then please let us know -- if nothing else we'll want -to talk to you before making any incompatible changes! +Yes, if you need a standalone HTTP/1.1 state machine. h11 has been +feature-complete for a long time, the public API is stable, and it is +what httpx/httpcore and uvicorn's h11 backend use to speak HTTP/1.1 in +production. + +If you just want to make HTTP requests from an application, use httpx +or urllib3 instead -- they already wrap a protocol library like this +one. *What are the features/limitations?* @@ -112,7 +115,7 @@ library. It has a test suite with 100.0% coverage for both statements and branches. -Currently it supports Python 3 (testing on 3.8-3.12) and PyPy 3. +Currently it supports Python 3 (testing on 3.8-3.13) and PyPy 3. The last Python 2-compatible version was h11 0.11.x. (Originally it had a Cython wrapper for `http-parser `_ and a beautiful nested state @@ -141,10 +144,8 @@ is now quite small and simple, I'm still annoyed that I haven't figured out how to make it even smaller and simpler. (Unfortunately, HTTP does not lend itself to simplicity.) -The API is ~feature complete and I don't expect the general outlines -to change much, but you can't judge an API's ergonomics until you -actually document and use it, so I'd expect some changes in the -details. +The API is feature complete. The general outlines have been stable for +years. *How do I try it?* diff --git a/docs/source/index.rst b/docs/source/index.rst index ee02847..e3c2cfc 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -48,6 +48,9 @@ Vital statistics The last Python 2-compatible version was h11 0.11.x. + Status: production/stable. h11 is the HTTP/1.1 engine behind + httpx/httpcore and uvicorn's h11 backend. + * Install: ``pip install h11`` * Sources and bug tracker: https://github.com/python-hyper/h11 diff --git a/newsfragments/193.doc.rst b/newsfragments/193.doc.rst new file mode 100644 index 0000000..b5997db --- /dev/null +++ b/newsfragments/193.doc.rst @@ -0,0 +1 @@ +Refresh the README and docs so they no longer describe h11 as an alpha-stage project, and mark the PyPI classifier as Production/Stable. diff --git a/setup.py b/setup.py index 73713e2..7a1c905 100644 --- a/setup.py +++ b/setup.py @@ -17,7 +17,7 @@ url="https://github.com/python-hyper/h11", python_requires=">=3.8", classifiers=[ - "Development Status :: 3 - Alpha", + "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: Implementation :: CPython", @@ -29,6 +29,7 @@ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Topic :: Internet :: WWW/HTTP", "Topic :: System :: Networking", ],