Skip to main content

Asgineer

A really thin ASGI web framework 🐍🤘

Build Status Documentation Status Package Version

Introduction

Asgineer is a tool to write asynchronous web applications, using as few abstractions as possible, while still offering a friendly API. The guide and reference take just a few minutes to read!

When running Asgineer on Uvicorn, it is one of the fastest web frameworks available. It supports http long polling, server side events (SSE), and websockets. And has utilities to serve assets the right (and fast) way.

Asgineer is proudly used to serve e.g. https://pyzo.org and https://timetagger.app.

Example

# example.py

import asgineer

@asgineer.to_asgi
async def main(request):
    return f"<html>You requested <b>{request.path}</b></html>"

if __name__ == '__main__':
    asgineer.run(main, 'uvicorn', 'localhost:8080')

You can start the server by running this script, or start it the ASGI way, e.g. with Uvicorn:

$ uvicorn example:main --host=localhost --port=8080

Installation and dependencies

Asgineer needs Python 3.8 or higher (may work on older versions but is not tested). To install or upgrade, run:

$ pip install -U asgineer

Asgineer has zero hard dependencies, but it needs an ASGI server to run on, like Uvicorn, Hypercorn, or Daphne.

Development

Install with pip install -e .[dev].

  • ruff format to apply code formatting.
  • ruff check to test for unused imports and more.
  • pytest tests to run the tests, optionally set the ASGI_SERVER environment variable.

License

BSD 2-clause.

Metadata

Release files for asgineer 0.9.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for asgineer 0.9.5
File Size Uploaded
asgineer-0.9.5.tar.gz 42.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for asgineer 0.9.5
File Interpreter ABI Platform
asgineer-0.9.5-py3-none-any.whl Python 3 none any Details

Total release size: 63.5 kB

Release files / asgineer-0.9.5.tar.gz

Download URL asgineer-0.9.5.tar.gz
Size 42.0 kB
Tags Source
SHA-256 checksum
How to use checksums
9b71ef3c2b1da0b3ff39124c0d63d51702dbb07ec218bba5c655bcbeff538e06
BLAKE2b-256 checksum
How to use checksums
bd8525b84d1f6100c15840bf4c2af9ef41877a1867184e3c0fbf38e1c6e6097f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.32.4

Release files / asgineer-0.9.5-py3-none-any.whl

Download URL asgineer-0.9.5-py3-none-any.whl
Size 21.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3da8d5e803bdc4d251ad63315dafbdf3c4c3f0cff8eb5f10583d27449874a175
BLAKE2b-256 checksum
How to use checksums
75b2623d36597e315a705164f161f3827134ba9f4b0f4d83be9bd02cfb5ed79e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.32.4

Release history Release notifications | RSS feed

This release

0.9.5 This release

2 release files

0.9.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.1

1 release file

0.7.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page