Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Aquilia Logo

Aquilia

The Python framework for teams building production APIs. Write controllers and services. Aquilia discovers everything, manages its own architecture, and deploys itself.

Version License Python Tests


Introduction

Aquilia is the Python framework for teams building production APIs. Write controllers and services. Aquilia discovers everything, manages its own architecture, and deploys itself.

You do not touch most framework-managed files. Write your controllers and services. Run aq serve. Aquilia handles routing, discovery, dependency injection, manifests, runtime orchestration, Docker integration, deployment tooling, and application wiring automatically.


Architecture

Decouple your application code from runtime orchestration. The system is split into three main components: developer space, framework engine, and infrastructure templates.

Aquilia High-Level System Architecture


Who is it for?

Aquilia is built for backend engineers and product teams who have outgrown the ad-hoc patterns of small web libraries. If you are tired of writing routing boilerplate, manually stitching dependency trees, wrestling with ASGI lifespans, or maintaining custom Dockerfiles, Aquilia provides a clean, self-organizing architecture.

Why does it exist?

Most Python web frameworks follow a microframework design. While this is great for small scripts, it falls apart in large codebases. Teams end up creating their own framework layers for database transactions, configuration loading, caching, versioning, and dependency injection. These layers are rarely documented, hard to test, and lead to maintenance debt. Aquilia replaces this custom glue code with standard, convention-driven structures.

Comparison Against Flask and FastAPI

Flask and FastAPI are microframeworks. They require you to manually import and wire every router, database connection pool, and service instantiation. As your codebase grows, this leads to large, fragile import loops. Aquilia is different. You declare your controllers and services, and Aquilia discovers and wires them automatically.

Comparison Against NestJS

Aquilia is closer to NestJS for Python. It uses a structured, modular design where folders represent logical boundaries (modules). Modules declare their components (controllers and services) inside a manifest file, and the framework orchestrates dependency injection, middleware ordering, and lifecycle hooks automatically.


Philosophy

Convention over Configuration

We believe developers should focus on business logic rather than wiring code. Aquilia sets logical defaults for directory structures, routing, configuration caching, and environment variables. If you follow the folder structure, everything works out of the box.

Automatic Discovery

Manual route registration is a common source of bugs and circular imports. Aquilia uses a Package Scanner to inspect your workspace, identify manifests, import modules, and register endpoints.

Self-Managing Architecture

The framework builds a topological dependency graph at startup. It detects circular references before your application starts, manages request-scoped lifecycles, and automatically compiles your code into optimized deployment manifests.

Production-First Design

Aquilia comes with production essentials built in:

  • Scoped dependency injection with singleton, app, and request scopes.
  • A structured fault handling system that replaces unhandled tracebacks with typed error domains.
  • Declarative multi-dimensional security clearances.
  • API versioning with RFC-compliant sunset warning headers.

Quick Start

1. Install the Core and Server Adapters

Install the base framework along with the production server package:

pip install "aquilia[full]"

2. Scaffold a Workspace

Create a new workspace using the CLI:

aq init workspace my-api
cd my-api

This generates your workspace root containing workspace.py, a config/ folder, and a default module.

3. Add a Module

Add a user management module:

aq add module users

This creates the following structure:

modules/
└── users/
    ├── __init__.py
    ├── controllers.py
    ├── manifest.py
    ├── models.py
    └── services.py

4. Run the Development Server

Start the server with hot reloading enabled:

aq serve

Your API is now running on http://127.0.0.1:8000.


Developer Workflow

What Files You Write

As a developer, you only write code inside your modules:

  • Controllers (controllers.py): Define your HTTP and WebSocket endpoints using route decorators.
  • Services (services.py): Implement business logic, database operations, and external API calls.
  • Models (models.py): Declare your database schema using the pure Python ORM.
  • Contracts (contracts.py or inline): Define input and output contracts using typed validation facets.

What Files Aquilia Manages

You do not touch configuration orchestrators, route tables, or deployment templates:

  • Workspace Config (workspace.py): Scaffolds integrations once, then left alone.
  • Module Manifests (manifest.py): Updated automatically by the CLI when you add components.
  • Infrastructure Dockerfiles (Dockerfile, docker-compose.yml): Generated automatically by the compiler.
  • ASGI Lifespan Adapters: Managed completely behind the scenes by the runtime.

Why Aquilia Exists

The Boilerplate Exhaustion

In standard Python frameworks, introducing a new service requires:

  1. Importing the service class.
  2. Initializing it with database connection handles.
  3. Importing it into a router file.
  4. Mounting the router onto the main app application. In Aquilia, you decorate the service with @service, add it to the manifest, and inject it into your controller constructor. The framework handles the rest.

Deployment Drift

Writing custom Dockerfiles and Kubernetes manifests leads to configuration drift. Developers often write configurations for local development that do not match production settings. Aquilia solves this by compiling your code directly into production-grade infrastructure configurations.


Feature Overview

Controllers

Controllers handle incoming HTTP and WebSocket requests. They are declared as classes inheriting from Controller and define routes with decorators like @GET or @POST.

from aquilia import Controller, GET, RequestCtx, Response

class UsersController(Controller):
    prefix = "/users"
    
    @GET("/")
    async def get_all(self, ctx: RequestCtx):
        return Response.json({"users": []})

Services

Services hold your business logic. They are decorated with @service and are automatically registered in the dependency injection container.

from aquilia import service

@service
class UserService:
    def get_users(self):
        return []

Dependency Injection

Aquilia supports nested dependency injection. You can inject services into controllers or other services by specifying them in the class constructor. The DI container resolves dependencies at startup.

class UsersController(Controller):
    def __init__(self, user_service: UserService):
        self.user_service = user_service

Contracts

Contracts define request validation schemas. They use facets to enforce constraints on incoming bodies, query parameters, and headers.

from aquilia.contracts import Contract, TextFacet, EmailFacet

class CreateUserContract(Contract):
    username = TextFacet(min_length=3, max_length=50)
    email = EmailFacet()

ORM

The built-in ORM provides an async database mapper with a chainable query builder, migrations, and transaction controls.

from aquilia.models import Model, CharField, EmailField

class UserModel(Model):
    username = CharField(max_length=50)
    email = EmailField()

Effects

Effects represent external side effects like database writes, caches, or task queues. Handlers declare these requirements using the @requires decorator, prompting the runtime to allocate resources automatically.

from aquilia.effects import DBTx, CacheEffect
from aquilia.flow import requires

@requires(DBTx("write"), CacheEffect("users"))
async def update_profile(ctx):
    db = ctx.get_effect("DBTx")
    cache = ctx.get_effect("Cache")

Flow

Flow is a pipeline system inspired by functional effect architectures. It lets you compose guards, transforms, handlers, and cleanup hooks into structured pipelines.

from aquilia.flow import FlowPipeline, guard, handler

pipeline = (
    FlowPipeline()
    .use(guard(check_permissions))
    .use(handler(process_request))
)

Faults

The fault system replaces raw exceptions with structured, typed errors. Every fault carries an error domain, a severity level, and a recovery strategy.

from aquilia.faults import Fault
from aquilia.faults.domains import FaultDomain

class PaymentRequiredFault(Fault):
    def __init__(self):
        super().__init__(
            code="PAYMENT_REQUIRED",
            message="Upgrade your plan to access this feature.",
            domain=FaultDomain.SECURITY,
        )

Middleware

Middleware executes before and after your request handlers. Aquilia uses priority bands to orchestrate middleware execution, including CORS, security headers, sessions, and telemetry.

Runtime

The AquiliaRuntime manages the ASGI server boot sequence. It guides the application through configuration, discovery, bootstrapping, and ready phases.

Versioning

Aquilia supports epoch-based versioning. You can define versions on controllers and set sunset policies that add deprecation warning headers to responses.

from aquilia.versioning import version, SunsetPolicy

@version("2.0")
class UsersV2Controller(Controller):
    pass

Discovery

The discovery engine uses static analysis and import checks to locate module manifests and wire components together without import statements.

CLI

The aq command-line utility provides commands to scaffold projects, generate controllers, run migrations, compile manifests, and validate dependency graphs.

Deployment

Aquilia generates deployment configurations for Docker, Docker Compose, and Kubernetes. It also includes render cloud integration.

Manifests

The manifest file (manifest.py) acts as the module contract. It lists the controllers, services, socket connections, and task configurations within the module.

Aquiliary

Aquiliary is the central app registry. It maps endpoints, validates route overlaps, and manages the dependency injection container.

Lifecycle System

The lifecycle manager runs hooks during application startup, runtime requests, and application shutdown, ensuring database pools and cache clients are properly closed.


Internal Runtime

The internal runtime translates ASGI connection events into structured context calls, routes requests to the correct versioned controller, and manages request-specific dependency containers.

Aquilia Complete System Architecture


Subsystem Lifecycles

Request Lifecycle

Every incoming ASGI connection passes through the middleware stack, matches a versioned controller, runs a flow pipeline with required side effects, and returns a structured response.

Aquilia Middleware Architecture

Dependency Injection Lifecycle

The DI container discovers providers at boot, registers them into container scopes, validates dependencies for circular references, and creates request-scoped DAGs.

Aquilia Dependency Injection Architecture

Middleware Lifecycle

Middleware components execute sequentially based on their priority bands. Post-processing wraps the response in reverse order.

Aquilia Middleware Architecture

Fault Handling Lifecycle

When an exception occurs, the interceptor catches it, maps it to a structured fault domain, evaluates its severity, and generates a formatted JSON response or HTML debug page.

Aquilia Fault Architecture

Contract Lifecycle

Contracts intercept incoming payloads, validate data types using facets, cast raw inputs into typed models, and project outgoing responses while excluding restricted fields.

Aquilia Contract Architecture

Runtime Lifecycle

The runtime orchestrator boots your application through linear gates, verifying configuration health before starting the ASGI server.

Aquilia Runtime Architecture

Deployment Lifecycle

The compiler processes workspace integrations, builds dependency manifests, freezes the active configuration, and generates production Docker or Kubernetes templates.

Aquilia High-Level System Architecture

Manifest Architecture

The manifest lifecycle reads code declarations, analyzes file locations, compiles dependencies, and outputs a frozen runtime registry artifact.

Aquilia Manifest Architecture

Versioning Architecture

The versioning router evaluates incoming headers, queries, or paths to resolve the client's requested version, routes requests to the matching controller, and appends sunset warnings.

Aquilia Versioning Architecture

Flow and Effect Architecture

Flow pipelines acquire required side effects (like database transactions) from providers, bind them to the request context, execute the handler, and commit or rollback changes on completion.

Aquilia Flow and Effect Architecture

ORM Architecture

The ORM maps declarative models to SQL statements, processes queries through connection adapters, and applies schema updates through migration scripts.

Aquilia ORM Architecture

Lifecycle Architecture

Startup and shutdown hooks run in sequence during ASGI lifecycle transitions, initializing and cleaning up shared resources like database pools.

Aquilia Lifecycle Architecture


Examples

1. Controller with Dependency Injection

# modules/products/controllers.py
from aquilia import Controller, GET, RequestCtx, Response
from .services import ProductService

class ProductController(Controller):
    prefix = "/products"

    def __init__(self, product_service: ProductService):
        self.product_service = product_service

    @GET("/")
    async def list_products(self, ctx: RequestCtx):
        products = self.product_service.get_available_products()
        return Response.json({"products": products})
# modules/products/services.py
from aquilia import service
from aquilia.effects import DBTx

@service
class ProductService:
    def get_available_products(self) -> list[dict]:
        return [
            {"id": 1, "name": "Cloud database service", "price": 49.00},
            {"id": 2, "name": "Telemetry collector", "price": 19.00}
        ]

2. Composed Flow Pipeline with Side Effects

# modules/billing/controllers.py
from aquilia import Controller, POST, RequestCtx, Response
from aquilia.effects import DBTx, CacheEffect
from aquilia.flow import requires
from aquilia.contracts import validate_body
from .contracts import InvoicePaymentContract

class BillingController(Controller):
    prefix = "/billing"

    @POST("/pay")
    @validate_body(InvoicePaymentContract)
    @requires(DBTx("write"), CacheEffect("invoices"))
    async def process_payment(self, ctx: RequestCtx, body: dict):
        # Database and cache effects are acquired automatically before execution
        db = ctx.get_effect("DBTx")
        cache = ctx.get_effect("Cache")
        
        # Perform payment logic
        invoice_id = body["invoice_id"]
        await db.execute("UPDATE invoices SET status = 'paid' WHERE id = ?", [invoice_id])
        await cache.set(f"invoice:{invoice_id}", "paid")
        
        return Response.json({"status": "payment_processed", "invoice_id": invoice_id})

3. API Versioning with Sunset Warning

# modules/users/controllers_v1.py
from aquilia import Controller, GET, Response
from aquilia.versioning import SunsetPolicy

class LegacyUserController(Controller):
    prefix = "/users"
    version = "1.0"
    sunset = SunsetPolicy(
        grace_period="90d",
        warn_header=True,
        sunset_date="2026-12-31"
    )

    @GET("/")
    async def get_users_old(self, ctx):
        # Clients will receive a 'Warning: 299 - Deprecated API' header
        return Response.json({"legacy_data": []})

Benchmarks

The benchmark suite compares Aquilia against 8 major Python web frameworks (Falcon, Starlette, Litestar, Sanic, Quart, FastAPI, Django, Flask). Tests were executed on macOS via oha load testing tool (concurrency 50, duration 5s per endpoint) with single-worker ASGI configurations under identical transport loads. Full detailed report is available in benchmarks/report.md.

Application Cold Startup Time

How long the framework takes to initialize routes, build internal engines, and open the HTTP port (milliseconds). Lower is better.

Application Startup Time

Mean Throughput

The average requests per second processed across all 17 HTTP workload scenarios. Higher is better.

Mean Throughput

Mean P95 Tail Latency

Average P95 tail latency (milliseconds) under high concurrency across key endpoints. Lower is better.

Mean P95 Tail Latency

Middleware Scaling Degradation

Percentage throughput drop when stacking 10 custom middleware layers vs 0 layers. Lower is better.

Middleware Degradation

Average Peak Memory Usage

Memory footprint (Peak RSS in Megabytes) under load. Lower is better.

Average Peak Memory Usage

WebSocket Message Throughput

WebSocket roundtrip message throughput (messages per second). Higher is better.

WebSocket Throughput


Comparison Tables

Feature Aquilia FastAPI Flask Django NestJS
Programming Model Controllers / Services Routers / Functions Contract Functions Class / Function Views Controllers / Services
Component Wiring Auto-discovers everything Manual imports / mounts Manual register calls Manual URL patterns list Modules imports array
Dependency Injection Scoped container built-in Function parameter DI None (needs extensions) None (needs extensions) Class injection built-in
Data Contracts Contracts & Lenses Pydantic Models None (needs extensions) Django Forms TypeScript DTOs
Out-of-box DB/Cache Async ORM & Cache built-in None (needs third party) None (needs third party) Synchronous Django ORM TypeORM / Prisma (Node)
Structured Faults Error domains built-in Raw HTTPExceptions Error handler mapping Middlewares / Exceptions Exception filters built-in
Realtime WebSockets Controller events built-in Raw ASGI adapters Needs SocketIO extension Channels extension Gateways built-in
Infrastructure Gen Auto-builds Dockerfiles Manual configuration Manual configuration Manual configuration Manual configuration

Roadmap

  • v1.2.0: Out-of-the-box PostgreSQL connection pooling improvements.
  • v1.3.0: Visual flow pipeline inspector dashboard in CLI.
  • v2.0.0: Dynamic auto-scaling Kubernetes operator integration.

Ecosystem

  • aq-admin: Visual admin panel client.
  • aq-otel: Expanded tracing integrations.
  • aq-mlops: Real-time machine learning model packaging extensions.

Contributing

We welcome contributions. Please read CONTRIBUTING.md to understand our coding standards and pull request workflows.


License

Aquilia is licensed under the MIT License. See LICENSE for details.

Release files for aquilia 1.4.0b4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aquilia 1.4.0b4
File Size Uploaded
aquilia-1.4.0b4.tar.gz 21.0 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for aquilia 1.4.0b4
File
aquilia-1.4.0b4-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
aquilia-1.4.0b4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
aquilia-1.4.0b4-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
aquilia-1.4.0b4-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
aquilia-1.4.0b4-cp313-cp313-macosx_10_15_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.15+ x86-64 Details
aquilia-1.4.0b4-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
aquilia-1.4.0b4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
aquilia-1.4.0b4-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
aquilia-1.4.0b4-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
aquilia-1.4.0b4-cp312-cp312-macosx_10_15_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.15+ x86-64 Details
aquilia-1.4.0b4-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
aquilia-1.4.0b4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
aquilia-1.4.0b4-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
aquilia-1.4.0b4-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
aquilia-1.4.0b4-cp311-cp311-macosx_10_15_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.15+ x86-64 Details
aquilia-1.4.0b4-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
aquilia-1.4.0b4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
aquilia-1.4.0b4-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
aquilia-1.4.0b4-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
aquilia-1.4.0b4-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details

Total release size: 89.8 MB

Release files / aquilia-1.4.0b4.tar.gz

Download URL aquilia-1.4.0b4.tar.gz
Size 21.0 MB
Tags Source
SHA-256 checksum
How to use checksums
843fa921ea036d929560de610ae9948f834760eb0ebdf247c28308ce50091bce
BLAKE2b-256 checksum
How to use checksums
b49893befd2a6f30db966b407169695fbdb1fa6fd3adfbcc777e570b4d75f7d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / aquilia-1.4.0b4-cp313-cp313-win_amd64.whl

Download URL aquilia-1.4.0b4-cp313-cp313-win_amd64.whl
Size 3.4 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
9e49cb76457f4c2076d079cf7b089d258ba06040b16eb2605b1db71b0034dc2c
BLAKE2b-256 checksum
How to use checksums
2ff97a347f2acd96f64211d74204d2fdfc2c000536c064e8e087c9f09d460fb7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / aquilia-1.4.0b4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL aquilia-1.4.0b4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.5 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
54e0a9b9f80e769cab11815d8a2cbf316d969ff58dbd9071efc5c19b03ce2c99
BLAKE2b-256 checksum
How to use checksums
2fc97fec0ea0c9392857187f5f1dc44a10003f71562cb6d55fff4a097ed9d9d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / aquilia-1.4.0b4-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL aquilia-1.4.0b4-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 3.5 MB
Tags CPython 3.13 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
68240abe0118f70e0961b8f210ab03a7a91c7cc20ea6abaa1aa3222fd4c8f254
BLAKE2b-256 checksum
How to use checksums
1d1f1c6386647b5b9ace1cdd99f6e6c4ce7b3922dd9a3ae5e971521e79069ef4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / aquilia-1.4.0b4-cp313-cp313-macosx_11_0_arm64.whl

Download URL aquilia-1.4.0b4-cp313-cp313-macosx_11_0_arm64.whl
Size 3.4 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
aeb628c8d7bdc500ba659d85901c0144758283ef188459e00095aa8b141b6092
BLAKE2b-256 checksum
How to use checksums
f069c678412925568b0f6ae4bef59b7a71b920e596a44aeb8f022655208b7c02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / aquilia-1.4.0b4-cp313-cp313-macosx_10_15_x86_64.whl

Download URL aquilia-1.4.0b4-cp313-cp313-macosx_10_15_x86_64.whl
Size 3.4 MB
Tags CPython 3.13 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
1378725f17413ee4260fd3bb4927cb5eff55f106de5a321ae919a4cc153dbf15
BLAKE2b-256 checksum
How to use checksums
804e3eb4164f650935efabb345083d2671d825557051d05bde5ba84509a73870
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / aquilia-1.4.0b4-cp312-cp312-win_amd64.whl

Download URL aquilia-1.4.0b4-cp312-cp312-win_amd64.whl
Size 3.4 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
612829437635df3c60c3fed82e72bcfb95b75c71d9e54aca747cdef96496dc71
BLAKE2b-256 checksum
How to use checksums
81e227d2c3ddf39b85d24127ccc9e779b892c4e65213cd4b718802a38212c464
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / aquilia-1.4.0b4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL aquilia-1.4.0b4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.5 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a76f9b8d66d002e5a645ee5bd3e68cc695ea63a73feb7d8bd8a71bb61693c31b
BLAKE2b-256 checksum
How to use checksums
76e59a2a01c9a9438b7a5e256a12e14c6ef7466fd4f9458606acf6a414e1df7c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / aquilia-1.4.0b4-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL aquilia-1.4.0b4-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 3.5 MB
Tags CPython 3.12 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d4e16c39dfd276ff84037287fc64ed37d710f85073d41a540bbb8d2bea056fa4
BLAKE2b-256 checksum
How to use checksums
669c9c658b1dd121a3dead854f8201b2f9e727215e92b9782cca958143ba2200
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / aquilia-1.4.0b4-cp312-cp312-macosx_11_0_arm64.whl

Download URL aquilia-1.4.0b4-cp312-cp312-macosx_11_0_arm64.whl
Size 3.4 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
863201a7909ab07f847a953f27279085ee6b76f92be94b981d04a9bc331d6ad9
BLAKE2b-256 checksum
How to use checksums
30d0238960ed13f68db41437f303e63c871bb1a13878a6e9220906dee501abdb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / aquilia-1.4.0b4-cp312-cp312-macosx_10_15_x86_64.whl

Download URL aquilia-1.4.0b4-cp312-cp312-macosx_10_15_x86_64.whl
Size 3.4 MB
Tags CPython 3.12 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
6db22d11992fe7905315920d9cc8cda424abb3695d5effed95d10f1f60d93e20
BLAKE2b-256 checksum
How to use checksums
9343ba81ace96441bd43300c5866f71f9d22464f5f0e85bb3809b6d254595a8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / aquilia-1.4.0b4-cp311-cp311-win_amd64.whl

Download URL aquilia-1.4.0b4-cp311-cp311-win_amd64.whl
Size 3.4 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
e5750afee958333c71551c9422669d9b13c0b7d33dd29b5bea006028152cc9c7
BLAKE2b-256 checksum
How to use checksums
c5738aa9cd137e33c84cc6c9843217deef40b6896c29993a1f920d2814f98f18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / aquilia-1.4.0b4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL aquilia-1.4.0b4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.5 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
de2871845c5b0741a020f686707f80035ac041fd48be69a213f5d87b2f5d890e
BLAKE2b-256 checksum
How to use checksums
38c8ea477a45e1fb1a6b924e832b529a5d840877c3c6ec4b9ca95670c513ae5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / aquilia-1.4.0b4-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL aquilia-1.4.0b4-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 3.5 MB
Tags CPython 3.11 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
148884cc074d07465b31407b26c9dc5898eda1b90b95349c3cc536baa2921d21
BLAKE2b-256 checksum
How to use checksums
146e673ee1c3f508db91ea374775bf18d438dbf58d7790a685dd0c1e018bb596
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / aquilia-1.4.0b4-cp311-cp311-macosx_11_0_arm64.whl

Download URL aquilia-1.4.0b4-cp311-cp311-macosx_11_0_arm64.whl
Size 3.4 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
42b871fcf5966e263ceded5530d4d6b186ec17853aa9d8fd09b041902097dcd7
BLAKE2b-256 checksum
How to use checksums
b82d5375b71082d322a1ffa18c2dad705ce462356f17b26b075288a3ea9a8447
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / aquilia-1.4.0b4-cp311-cp311-macosx_10_15_x86_64.whl

Download URL aquilia-1.4.0b4-cp311-cp311-macosx_10_15_x86_64.whl
Size 3.4 MB
Tags CPython 3.11 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
bbf8dc1f8391e1edc77fa1de8cde355ca606224b8cea5891fb44f3340cb9d20e
BLAKE2b-256 checksum
How to use checksums
54c90bb59cbf76e87cf7f8a569a97d45dbd8c2cf4160c73f62935fbb0777efeb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / aquilia-1.4.0b4-cp310-cp310-win_amd64.whl

Download URL aquilia-1.4.0b4-cp310-cp310-win_amd64.whl
Size 3.4 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
e235592d1f6bdc99b2c8cc0448d7684f4df3ff3587b99843a7dc98b8706352dd
BLAKE2b-256 checksum
How to use checksums
6cf86e50a3863dd72e9e4af9ddad12a255221fc69255a74ff3e7d524a0c5916a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / aquilia-1.4.0b4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL aquilia-1.4.0b4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.5 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
24050be8e5de165b3414f08a5d2a298148fa3f80c09097c97313a86a10557c50
BLAKE2b-256 checksum
How to use checksums
af1fee83d066b46c37d706b0dc9757390dbb7f0c4a3e5182244120ac59706a3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / aquilia-1.4.0b4-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL aquilia-1.4.0b4-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 3.5 MB
Tags CPython 3.10 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
4261991c732f2528c9f0c7899621bb82734a287e2a3dce1f48ed2aeaee642bc2
BLAKE2b-256 checksum
How to use checksums
c7f2a9b53627c1e319ae5f1c9329e1454b083464084e55215fba31e4c24ea509
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / aquilia-1.4.0b4-cp310-cp310-macosx_11_0_arm64.whl

Download URL aquilia-1.4.0b4-cp310-cp310-macosx_11_0_arm64.whl
Size 3.4 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
866ee506d4ac82252177de7bee287de4f152511cb9b6538c8a38fd8a02692a42
BLAKE2b-256 checksum
How to use checksums
f2fd27db2cad5cfa0811fdc30e2f553e2102206594e1df0fb4327793efda352a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / aquilia-1.4.0b4-cp310-cp310-macosx_10_15_x86_64.whl

Download URL aquilia-1.4.0b4-cp310-cp310-macosx_10_15_x86_64.whl
Size 3.4 MB
Tags CPython 3.10 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
a21e9a97813941d62eb39f9f7b42b439b999fc68cf940be51429a7081f224966
BLAKE2b-256 checksum
How to use checksums
7412ee710a71898da6fa14732f0fd263f79a7cc03862ddd862bc9c9dc1d05b44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release history Release notifications | RSS feed

1.4.2

26 release files

1.4.1

26 release files

1.4.0

26 release files

This release

1.4.0b4 This release

21 release files

1.3.10

2 release files

1.3.9

2 release files

1.3.8

2 release files

1.3.7

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page