Pydantic-native form validation and rendering. Define a model, get a validated, rendered HTML form. Works with or without Air web framework.
Project description
AirForm
Pydantic-native form validation and rendering. Define a model, get a validated, rendered HTML form. Works with or without Air web framework.
- GitHub: https://github.com/feldroy/AirForm/
- PyPI package: https://pypi.org/project/AirForm/
- Created by: Audrey M. Roy Greenfeld | GitHub https://github.com/audreyfeldroy | PyPI https://pypi.org/user/audreyr/
- Free software: MIT License
Features
- TODO
Documentation
Documentation is built with Zensical and deployed to GitHub Pages.
- Live site: https://feldroy.github.io/AirForm/
- Preview locally:
just docs-serve(serves at http://localhost:8000) - Build:
just docs-build
API documentation is auto-generated from docstrings using mkdocstrings.
Docs deploy automatically on push to main via GitHub Actions. To enable this, go to your repo's Settings > Pages and set the source to GitHub Actions.
Development
To set up for local development:
# Clone your fork
git clone git@github.com:your_username/AirForm.git
cd AirForm
# Install in editable mode with live updates
uv tool install --editable .
This installs the CLI globally but with live updates - any changes you make to the source code are immediately available when you run airform.
Run tests:
uv run pytest
Run quality checks (format, lint, type check, test):
just qa
Author
AirForm was created in 2026 by Audrey M. Roy Greenfeld.
Built with Cookiecutter and the audreyfeldroy/cookiecutter-pypackage project template.
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
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 airform-0.1.0.tar.gz.
File metadata
- Download URL: airform-0.1.0.tar.gz
- Upload date:
- Size: 14.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b47669e10f78c5ee72d11148b6545f97f6d33274a934fa011b74a03d624a685e
|
|
| MD5 |
1687824f147aedbb1a14eb07a1f8c826
|
|
| BLAKE2b-256 |
21a12b32409a8165c9f3bed249b0f4d3a62f850856566206854a11d15756067c
|
File details
Details for the file airform-0.1.0-py3-none-any.whl.
File metadata
- Download URL: airform-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b068dcdcdddc00d527ca93c43bff76da57f3b2e86d6fd97e301ab3b80c4458d
|
|
| MD5 |
f05c9392fc97a6b2f34b164a0618b1b5
|
|
| BLAKE2b-256 |
34b353032ef6f9618442f64c635b0ef05b392f6041a51348e6ecf106762fe3ed
|