Async-native Python web framework with flow-first routing
Project description
Aquilia is a Manifest-First, async-native Python framework designed to bridge the gap between developer velocity and production-grade stability. It removes routing and deployment boilerplate, auto-generates infrastructure manifests (Docker/K8s), and comes with built-in MLOps capabilities.
🚀 Why Aquilia?
Current frameworks force a trade-off: use a microframework for speed but spend months on infrastructure, or use a "batteries-included" monolith that's hard to scale and deploy. Aquilia changes the game:
- Manifest-First Architecture: Your code define its own infrastructure. No more manual Dockerfile or K8s YAML maintenance.
- Scoped Dependency Injection: Built-in, enterprise-grade DI that handles complex lifecycles and provides deep observability.
- Async-Native Core: Built for modern, high-concurrency workloads from the ground up.
- Integrated MLOps: Native support for artifact versioning, lineage tracking, and model deployment.
📦 Installation
pip install aquilia
Or use the CLI to initialize a new project:
aq init my-awesome-app
⚡ Quick Start
Create a controller in app/controllers.py:
from aquilia import Controller, GET, RequestCtx
class HelloWorld(Controller):
@GET("/")
async def hello(self, ctx: RequestCtx):
return {"message": "Hello from Aquilia!"}
Register it in your manifest.py:
from aquilia import AppManifest, ServiceConfig
class MyManifest(AppManifest):
name = "main"
version = "1.0.0"
controllers = ["app.controllers:HelloWorld"]
🏛️ Core Pillars
1. The Manifest System
The AppManifest is the single source of truth for your application's requirements. It declares controllers, services, middleware, and database configurations. Aquilia uses this manifest to auto-generate:
- Dockerfiles tailored to your dependencies.
- Kubernetes Manifests for production-ready deployments.
- OpenAPI Documentation for your APIs.
2. Scoped Dependency Injection
Forget globals. Aquilia provides a hierarchical DI system:
- Singleton: Service lives for the app lifecycle.
- App: Scoped to the module level.
- Request: Fresh instance for every incoming HTTP request.
3. Integrated MLOps
Aquilia treats machine learning as a first-class citizen:
- Artifact Registry: Version and track data/model assets.
- Lineage Tracing: Know exactly which code produced which model.
- Shadow Deployments: Test new models in production without affecting real traffic.
🛠️ Subsystems
Aquilia is composed of several deeply integrated subsystems:
- Aquilary: The core registry and manifest loader.
- Flow: Typed routing and composable request pipelines.
- Faults: Structured error handling with recovery domains.
- Mail/Cache/Sessions: Essential services with enterprise interfaces.
🌐 Learn More
- Documentation: https://aquilia.tubox.cloud
- Architecture Guide: Architecture
- Quick Start: Get Started
Built with ❤️ by the Aquilia Team
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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 aquilia-1.0.0.tar.gz.
File metadata
- Download URL: aquilia-1.0.0.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9cae9ee404e30cc87f158325178aa9b2fd39e9f0bb3f5a714e5b8ad28f68980c
|
|
| MD5 |
562393706d7976f0f48d4d09955ad3da
|
|
| BLAKE2b-256 |
e259fb446640bd8493322718723f5e0c82826d9456c6c18ce1208e9db65268b7
|
File details
Details for the file aquilia-1.0.0-py3-none-any.whl.
File metadata
- Download URL: aquilia-1.0.0-py3-none-any.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34ff465f1b2c5532fd3394da09f694cfc26b0ff8cbf92a45327b7e45777155b2
|
|
| MD5 |
fa6a74e82cbd8954c36a21f5b1b5a864
|
|
| BLAKE2b-256 |
f4f6c31ed37d8e78c9d61905fe7538671027cf68bb7bc1d02d3ee5156718c2d6
|