Why
Scaffolders build once, then leave you on your own. fullapi doesn't. gen
builds the project from api.yaml, check keeps it honest: change a field,
drop a route, and CI fails instead of your API quietly drifting from the spec.
Quick Start
pip install fullapi
Write api.yaml (or run fullapi init for a starter file):
name: shop_api
database: sqlite # none | sqlite | postgres
auth: jwt # optional
resources:
- name: product
fields:
title: str
price: float
note: str? # trailing ? = optional
auth: true # protect this resource's routes
Generate and run:
fullapi gen # api.yaml -> ./app
pip install -r requirements.txt
uvicorn app.main:app --reload
Enforce in CI:
fullapi check # exits non-zero on breaking changes
Commands
| Command | Description |
|---|---|
fullapi init [spec] |
Write a starter api.yaml |
fullapi gen [spec] [-o dir] |
Generate the project from the spec |
fullapi check [spec] [--app app.main:app] |
Fail on breaking drift from the spec |
How check works
It reads the live app's real app.openapi(), derives the expected schema from
api.yaml, and diffs them. Removed routes/fields, type changes, and newly
required fields are breaking (non-zero exit); added routes and optional
fields are safe.
Built and maintained by @sahilnyk.
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 fullapi-2.1.1.tar.gz.
File metadata
- Download URL: fullapi-2.1.1.tar.gz
- Upload date:
- Size: 15.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d8df21ede2d69cd7fd27b5149d56443b27d8c9212f9f4271130dc58d12b7b4f
|
|
| MD5 |
c48e472a60a914fd2b3e457e48154907
|
|
| BLAKE2b-256 |
2369f7804050acac84022114458dfb1a718b7280bbb6505db6e90e146222d8c1
|
File details
Details for the file fullapi-2.1.1-py3-none-any.whl.
File metadata
- Download URL: fullapi-2.1.1-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66623af082cde1bfeff5534fd32a2026e3a2f92827995b39e75961a5c5b190c5
|
|
| MD5 |
ac499142a348b499e4f0b4f3b313e242
|
|
| BLAKE2b-256 |
1585c7b189e5d59192a66804b22ea9abd9cefc6d2d2ce36fb3e7be95b777e71f
|