Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pgjones/hypercorn
Hypercorn is an ASGI and WSGI Server based on Hyper libraries and inspired by Gunicorn.
https://github.com/pgjones/hypercorn
asgi asyncio http-server http2 http3 python wsgi
Last synced: 3 days ago
JSON representation
Hypercorn is an ASGI and WSGI Server based on Hyper libraries and inspired by Gunicorn.
- Host: GitHub
- URL: https://github.com/pgjones/hypercorn
- Owner: pgjones
- License: mit
- Created: 2018-06-02T17:47:42.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-08-12T16:46:43.000Z (4 months ago)
- Last Synced: 2024-10-29T15:10:55.310Z (about 1 month ago)
- Topics: asgi, asyncio, http-server, http2, http3, python, wsgi
- Language: Python
- Homepage:
- Size: 1.12 MB
- Stars: 1,154
- Watchers: 16
- Forks: 104
- Open Issues: 89
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- License: LICENSE
Awesome Lists containing this project
- awesome-python-zh - hypercorn - 基于超级库并受Gunicorn启发的ASGI和WSGI服务器。 (ASGI服务器)
- best-of-web-python - GitHub - 36% open · ⏱️ 04.06.2024): (Servers)
- awesome-python - hypercorn - An ASGI and WSGI Server based on Hyper libraries and inspired by Gunicorn. (ASGI Servers)
- awesome-python-web-frameworks - hypercorn - ASGI server based on the sans-io hyper, h11, h2, and wsproto libraries. (Http servers / Dead REST frameworks)
README
Hypercorn
=========.. image:: https://github.com/pgjones/hypercorn/raw/main/artwork/logo.png
:alt: Hypercorn logo|Build Status| |docs| |pypi| |http| |python| |license|
Hypercorn is an `ASGI
`_ and
WSGI web server based on the sans-io hyper, `h11
`_, `h2
`_, and `wsproto
`_ libraries and inspired by
Gunicorn. Hypercorn supports HTTP/1, HTTP/2, WebSockets (over HTTP/1
and HTTP/2), ASGI, and WSGI specifications. Hypercorn can utilise
asyncio, uvloop, or trio worker types.Hypercorn can optionally serve the current draft of the HTTP/3
specification using the `aioquic
`_ library. To enable this install
the ``h3`` optional extra, ``pip install hypercorn[h3]`` and then
choose a quic binding e.g. ``hypercorn --quic-bind localhost:4433
...``.Hypercorn was initially part of `Quart
`_ before being separated out into a
standalone server. Hypercorn forked from version 0.5.0 of Quart.Quickstart
----------Hypercorn can be installed via `pip
`_,.. code-block:: console
$ pip install hypercorn
and requires Python 3.8 or higher.
With hypercorn installed ASGI frameworks (or apps) can be served via
Hypercorn via the command line,.. code-block:: console
$ hypercorn module:app
Alternatively Hypercorn can be used programatically,
.. code-block:: python
import asyncio
from hypercorn.config import Config
from hypercorn.asyncio import servefrom module import app
asyncio.run(serve(app, Config()))
learn more (including a Trio example of the above) in the `API usage
`_
docs.Contributing
------------Hypercorn is developed on `Github
`_. If you come across an issue,
or have a feature request please open an `issue
`_. If you want to
contribute a fix or the feature-implementation please do (typo fixes
welcome), by proposing a `pull request
`_.Testing
~~~~~~~The best way to test Hypercorn is with `Tox
`_,.. code-block:: console
$ pipenv install tox
$ toxthis will check the code style and run the tests.
Help
----The Hypercorn `documentation `_ is
the best place to start, after that try searching stack overflow, if
you still can't find an answer please `open an issue
`_... |Build Status| image:: https://github.com/pgjones/hypercorn/actions/workflows/ci.yml/badge.svg
:target: https://github.com/pgjones/hypercorn/commits/main.. |docs| image:: https://img.shields.io/badge/docs-passing-brightgreen.svg
:target: https://hypercorn.readthedocs.io.. |pypi| image:: https://img.shields.io/pypi/v/hypercorn.svg
:target: https://pypi.python.org/pypi/Hypercorn/.. |http| image:: https://img.shields.io/badge/http-1.0,1.1,2-orange.svg
:target: https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol.. |python| image:: https://img.shields.io/pypi/pyversions/hypercorn.svg
:target: https://pypi.python.org/pypi/Hypercorn/.. |license| image:: https://img.shields.io/badge/license-MIT-blue.svg
:target: https://github.com/pgjones/hypercorn/blob/main/LICENSE