Skip to main content

Multiprocessing based aiohttp application runner

Project description

aiohttp-serve

CI Coverage Status PyPI version

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.2.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

aiohttp_serve-0.2.2-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aiohttp_serve-0.2.2.tar.gz
  • Upload date:
  • Size: 10.9 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.2.tar.gz
Algorithm Hash digest
SHA256 3ebd1947d18b9dec3ad4955dee9d7698b9dbba2fae32a4d01fe9d6243e2dc8bc
MD5 3241614cb2afae83468f7933064df350
BLAKE2b-256 b3a36737b396982dd38b13110c7b61977c4580279a5d37093226a3018f1c9a50

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aiohttp_serve-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 13.3 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 42b11b301cd3f753f4940277ce8df5fcd515507c6f33490c42a947e0dc3e38d5
MD5 cc52b347d3c49e366d87d1ee33b7e7ed
BLAKE2b-256 a214afe43ef40d61aa3e969ff375b19ccf6d1cd3ab0766f32c46b7c1f5079a50

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