AsyncFast
AsyncFast is a modern, event framework for building APIs with Python based on standard Python type hints.
Installation
pip install asyncfast==0.46.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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
asyncfast-0.46.0.tar.gz
(11.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file asyncfast-0.46.0.tar.gz.
File metadata
- Download URL: asyncfast-0.46.0.tar.gz
- Upload date:
- Size: 11.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddcfd2bd5aed985e9fcfa433a2fe65f04cdcc9a9e2e31ac929d7a795cbee7048
|
|
| MD5 |
6c58ff4fb87dbea4d0e1d733199e5df0
|
|
| BLAKE2b-256 |
8308d2d764b927f03be43dc04da4b577d9b8a22b6429c5642fffa94479190358
|
File details
Details for the file asyncfast-0.46.0-py3-none-any.whl.
File metadata
- Download URL: asyncfast-0.46.0-py3-none-any.whl
- Upload date:
- Size: 16.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51ac537f71c15f5b3f25ac609eeb2234967732e3c624d02b3560e1ce99f19106
|
|
| MD5 |
6295f560bf6639aef568ea397ae23ea1
|
|
| BLAKE2b-256 |
66754738424df4567153b105d53381bcb6e60111bcd0c59ca6fe5d555395ff35
|