AsyncFast
AsyncFast is a modern, event framework for building APIs with Python based on standard Python type hints.
Installation
pip install asyncfast==0.49.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.49.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.49.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / asyncfast-0.49.0-py3-none-any.whl
| Download URL | asyncfast-0.49.0-py3-none-any.whl |
|---|---|
| Size | 16.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f9fe56fa77f3696e137052b98f89dda9e411a2e791a98c21bbbb2da4d09070fd
|
|
BLAKE2b-256 checksum How to use checksums |
700b7de5793630eb8f4bbc3e8077e59f5d357f46b306708c9d6ca4adaa046085
|
| 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}
|