air

The first web framework designed for AI to write. Built on Python, FastAPI, Pydantic, and HTMX. By the authors of Two Scoops of Django.

22 articles 827 View on GitHub ↗
22 articles
How to Create Custom Page Layouts Using air.layouts: Step-by-Step Guide

Learn to create custom page layouts in air.layouts with this step by step guide. Build flexible Python functions for your web app.

how-to-guide
Mar 1, 2026
How to Handle and Display Form Validation Errors in Air

Learn to handle form validation errors in Air. Air automatically validates Pydantic forms, stores errors efficiently, and renders accessible HTML with aria-invalid attributes for a better user experience.

how-to-guide
Mar 1, 2026
Why Air is Built for AI-Assisted Development: Framework Design Explained

Discover why Air is the ideal Python web framework for AI-assisted development. Its typed APIs and explicit defaults empower AI coding assistants to understand and extend your codebase seamlessly.

architecture
Mar 1, 2026
How to Test Air Applications with pytest: A Complete Guide

Learn to test Air applications effectively with pytest. This guide shows how to leverage FastAPI's TestClient for robust testing of your Air apps.

how-to-guide
Mar 1, 2026
How to Deploy Air Applications with Docker and Kubernetes: Production Guide

Deploy Air applications using Docker and Kubernetes. Build a multi-stage Docker image and apply production-ready Kubernetes manifests with custom probes and security contexts.

production-guide
Mar 1, 2026
Recommended Project Structure for Air Applications: A Complete Guide

Discover the recommended project structure for Air applications. Learn a minimal Python package layout for efficient routing, asset management, and dependency handling.

how-to-guide
Mar 1, 2026
How to Organize Routes in Multiple Files Using AirRouter

Learn to organize routes in multiple files with AirRouter. Keep your codebase modular and maintainable by defining path operations in separate modules and registering them with your app.

how-to-guide
Mar 1, 2026
How Air's Default Exception Handling Works: A Deep Dive into HTML Error Pages

Explore how Air's default exception handling registers styled HTML error pages for 404 and 500 errors merging default handlers with your custom callbacks during initialization.

deep-dive
Mar 1, 2026
How to Use BackgroundTasks in Air for Asynchronous Processing

Learn to use BackgroundTasks in Air for asynchronous processing. Offload background work from HTTP responses efficiently using add_task for seamless execution.

how-to-guide
Mar 1, 2026
How to Mount a FastAPI Sub-App Inside an Air Application

Learn to mount a FastAPI sub-app within an Air application using Air.mount(). This efficient method integrates FastAPI seamlessly, leveraging its native mounting capabilities for a smooth experience.

how-to-guide
Mar 1, 2026
How the AirRoute Class Customizes FastAPI Routing in Air

Discover how AirRoute enhances FastAPI routing by transforming requests, resolving type annotations, and adding reverse URL helpers. Learn more about this powerful customization.

internals
Mar 1, 2026
How to Configure path_separator (Dash vs Slash) in AirRouter

Configure AirRouter path_separator to use dashes or slashes for URL path segments, controlling how Python function names are converted for cleaner URLs.

how-to-guide
Mar 1, 2026

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →