Skip to main content

Minimalistic async HTTP server

Project description

# Minimalistic async HTTP server

This framework was inspired by [sanic](https://github.com/huge-success/sanic) framework.
This framework designed to be fast and be capable to start within 1.5 seconds at max (see [cold start problem](https://medium.com/@denismakogon/investigating-pythons-performance-issue-cold-start-8ebf443a8a20)).

## How to install

```bash
pip install async-http-minimal
```

## Example

```python
import asyncio
import socket

from async_http import app
from async_http import router
from async_http import response

async def hello(request):
return response.text("hello-world!")


if __name__ == "__main__":
loop = asyncio.get_event_loop()
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(("localhost", 9999))

rtr = router.Router()
rtr.add("/hello", frozenset({"GET"}), hello)
srv = app.AsyncHTTPServer(name="hello-world-server", router=rtr)
start_serving, run_forever = srv.run(sock=sock, loop=loop)

start_serving()
# here you can do some additional operations before starting an infinite serving
# can be helpful for unix sockets, etc.
run_forever()
```

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

async-http-minimal-0.0.4.tar.gz (23.6 kB view details)

Uploaded Source

Built Distribution

async_http_minimal-0.0.4-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

Details for the file async-http-minimal-0.0.4.tar.gz.

File metadata

  • Download URL: async-http-minimal-0.0.4.tar.gz
  • Upload date:
  • Size: 23.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.29.0 CPython/3.7.1

File hashes

Hashes for async-http-minimal-0.0.4.tar.gz
Algorithm Hash digest
SHA256 86cee8418beac36857ecaaaf6573e14cda4a9c7ff9d101ecbb74ccd877e05632
MD5 e9a02cd083c0c0977bbfa20b5ae4e56d
BLAKE2b-256 bc3d44e3026be2b28118a5707600fc5fa917dc6ad06bbb528ab76e1a1e40d26d

See more details on using hashes here.

File details

Details for the file async_http_minimal-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: async_http_minimal-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 28.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.29.0 CPython/3.7.1

File hashes

Hashes for async_http_minimal-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8edc134357feef065093eeb6a40895f6d00fa2111c59a418c91c8512cb17fa16
MD5 7cb18093a1d75ce4961234cfdefdd0ac
BLAKE2b-256 a925be966114b2848bf7e3d3fe497906919433fc0143fa1bfeca9f8936ff0c97

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page