Skip to main content

Add your description here

Project description

AsyncFast

AsyncFast is a modern, event framework for building APIs with Python based on standard Python type hints.

Installation

pip install asyncfast==0.23.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

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

asyncfast-0.23.0.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

asyncfast-0.23.0-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file asyncfast-0.23.0.tar.gz.

File metadata

  • Download URL: asyncfast-0.23.0.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"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

Hashes for asyncfast-0.23.0.tar.gz
Algorithm Hash digest
SHA256 ac4c9ad0c8d6c65078de6831696a1fb763fc572951707af29b8dc4717e48d6c0
MD5 4122f9e3454302c55f782e806c133a77
BLAKE2b-256 79d0eeda05bd16cbaeb83223f47a9b19cf9a165c2e1f392503f85823fc5d57ab

See more details on using hashes here.

File details

Details for the file asyncfast-0.23.0-py3-none-any.whl.

File metadata

  • Download URL: asyncfast-0.23.0-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"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

Hashes for asyncfast-0.23.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e3c61a6e360d452135497ac39276571b65213fec47060496df652a52ac4cd46f
MD5 af26ab2b6a06ff9c83f42890b64fe4ed
BLAKE2b-256 bf9aa143d20b536770313ac8be0c33bc4019b7c6e06a458761e46d39c4f87dc2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page