Skip to main content

Multiprocessing based aiohttp application runner

Project description

aiohttp-serve

aiohttp-serve package allows you to run aiohttp.web.Application on multiple workers/processes (if for some reason you don't want to use external servers such as gunicorn etc.)

Requirements

  • Python >= 3.7
  • aiohttp >= 3.7.4
  • PyYAML>=5.4.1 (optional)

Installation

pip install aiohttp-serve

Usage

web.py
from aiohttp import web


async def index(request):
    return web.Response(body='Hello world')


app = web.Application()
app.router.add_get('/', index)

simple usage:

from aiohttp_serve import serve

if __name__ == '__main__':
    serve(
        'web:app',
        host='127.0.0.1',
        port=8080,
        workers=4,
    )

bind to multiple host/port/path:

from aiohttp_serve import serve

if __name__ == '__main__':
    serve(
        'web:app',
        bind=[
            'http://127.0.0.1:80',
            'https://127.0.0.1:443',
            'unix:/path/to/unix/socket.sock',
        ],
        workers=4,
        ssl_certfile='/path/to/cert.crt',
        ssl_keyfile='/path/to/key.key',
    )

logging:

Just configure logging at module level

import yaml
import logging.config

from aiohttp_serve import serve

with open('./examples/logging.yaml', mode='r') as f:
    logging.config.dictConfig(yaml.safe_load(f))

if __name__ == '__main__':
    serve(
        'web:app',
        host='127.0.0.1',
        port=8080,
        workers=4,
    )

of use log_config arg (dict, .json or .yaml or .conf file)

from aiohttp_serve import serve

if __name__ == '__main__':
    serve(
        'web:app',
        host='127.0.0.1',
        port=8080,
        workers=4,
        log_config='./examples/logging.yaml',
    )

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

aiohttp_serve-0.2.1.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

aiohttp_serve-0.2.1-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file aiohttp_serve-0.2.1.tar.gz.

File metadata

  • Download URL: aiohttp_serve-0.2.1.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/58.0.4 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.7.11

File hashes

Hashes for aiohttp_serve-0.2.1.tar.gz
Algorithm Hash digest
SHA256 4a766919318f2440265ba1b4d8d1d844514896c6a50ebfad0b450125c88341f6
MD5 77b9f3f7b96fad695bb1b5efedd81b4a
BLAKE2b-256 9bd9677fe972a336a9cce29e8b04b8bf392f74738bdb10f46d4460e3be9f332c

See more details on using hashes here.

Provenance

File details

Details for the file aiohttp_serve-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: aiohttp_serve-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 13.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/58.0.4 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.7.11

File hashes

Hashes for aiohttp_serve-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 505dcc1ed658cdb10f84fe8e89175ce488b29b710fa966beec97de3e91b9b70d
MD5 35645470ca2738e098c9f352c2243431
BLAKE2b-256 2a1bc9b194255817bcc085e8d168fd4755bede116f6c04ea3b001c696cb5adaf

See more details on using hashes here.

Provenance

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