Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 13 additions & 12 deletions README.rst
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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?*

Expand All @@ -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
<https://github.com/nodejs/http-parser>`_ and a beautiful nested state
Expand Down Expand Up @@ -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?*

Expand Down
3 changes: 3 additions & 0 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions newsfragments/193.doc.rst
Original file line number Diff line number Diff line change
@@ -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.
3 changes: 2 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand All @@ -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",
],
Expand Down