The Message Knows the Way.
AI workloads don't belong behind synchronous REST APIs. They're batch jobs — bursty, GPU-heavy, multi-step — and forcing them into request/response patterns adds latency, waste, and cascading failures.
Asya is a Kubernetes-native actor mesh for async AI/ML pipelines. Each actor is a pure Python function. Each message carries its own route. No central orchestrator. No waiting.
def process(payload: dict) -> dict:
return {**payload, "result": model.predict(payload["input"])}Deploy it as a Kubernetes CRD. Asya injects the sidecar, creates the queue, configures autoscaling. Your code stays clean.
Two files, two owners: your handler (Python) + your actor spec (YAML). That's the entire interface.
- Decentralized routing — envelopes carry
prev/curr/nextqueues; no coordinator can fail - Scale to zero — KEDA autoscales each actor independently from 0→N based on its own queue depth; GPU pods cost nothing when idle
- Pure Python handlers — no SDK imports, no decorators, no framework coupling; test locally with
assert process(payload) == expected - Dynamic pipelines — routes are data embedded in each message, not code; actors can rewrite routing at runtime for agentic patterns, LLM judges, branching flows
| Setup | Install on Kind (local) or your cluster — start here |
| Usage | Write handlers, deploy actors, build flows with the Flow DSL |
| Concepts | Envelope, actor, sidecar, routing — the core model |
| Motivation | Why async actors beat synchronous REST for AI at scale |
| Architecture | Components, protocols, data flow |
| Operate | Monitoring, scaling, troubleshooting, upgrades |
| Examples | Actor specs and flow DSL examples |
Prerequisites: Go 1.24+, Python 3.13+, Docker, Make, uv
make setup # Install hooks, sync deps
make build # Build all components
make test-unit # Unit tests
make lint # Linters with auto-fixSee CONTRIBUTING.md for the full development and testing guide.
Alpha. APIs may change. Battle-tested at Delivery Hero for global-scale AI image enhancement. Now powering LLM and agentic workflows.
Apache 2.0 licensed. Maintainer: Artem Yushkovskiy (@atemate)
