AsyncFast
AsyncFast is a modern, event framework for building APIs with Python based on standard Python type hints.
Installation
pip install asyncfast==0.48.0
Example
Create a file main.py with:
from asyncfast import AsyncFast
from pydantic import BaseModel
app = AsyncFast()
class Payload(BaseModel):
id: str
name: str
@app.channel("topic")
async def on_topic(payload: Payload) -> None:
print(payload)
Running
To run the app install an AMGI server (at the moment there is only amgi-aiokafka) then run:
$ asyncfast run amgi-aiokafka main:app topic
AsyncAPI Generation
$ asyncfast asyncapi main:app
{
"asyncapi": "3.0.0",
"info": {
"title": "AsyncFast",
"version": "0.1.0"
},
"channels": {
"OnTopic": {
"address": "topic",
"messages": {
"OnTopicMessage": {
"$ref": "#/components/messages/OnTopicMessage"
}
}
}
},
"operations": {
"receiveOnTopic": {
"action": "receive",
"channel": {
"$ref": "#/channels/OnTopic"
}
}
},
"components": {
"messages": {
"OnTopicMessage": {
"payload": {
"$ref": "#/components/schemas/Payload"
}
}
},
"schemas": {
"Payload": {
"properties": {
"id": {
"title": "Id",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
}
},
"required": [
"id",
"name"
],
"title": "Payload",
"type": "object"
}
}
}
}
Contact
For questions or suggestions, please contact jack.burridge@mail.com.
License
Copyright 2025 AMGI
Metadata
Release files for asyncfast 0.48.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| asyncfast-0.48.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / asyncfast-0.48.0-py3-none-any.whl
| Download URL | asyncfast-0.48.0-py3-none-any.whl |
|---|---|
| Size | 16.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e7bce2485643ddc17293b74526d1b2d951bec23f71c3c080b9acec10d252df93
|
|
BLAKE2b-256 checksum How to use checksums |
49612d43f682cb9cb113fa59c81e6756d99983ad9679476f680faad53557490b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|