Why
Scaffolders help once, then leave. fullapi keeps the spec as the source of
truth: gen builds the project, check fails your CI when the API drifts from
the spec — a living contract, not a one-shot template.
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.0.tar.gz.
File metadata
- Download URL: fullapi-2.1.0.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 |
80e30280063274cbf5377e34a9cb3fc9d15c873e92ddf27574ca16bfda7ddc38
|
|
| MD5 |
113f6fe72a8eded935f3cdbde11eab2f
|
|
| BLAKE2b-256 |
eaa72ea61e10704a81363015e177b303d900c6ea9db2f313efe71d6feebb5785
|
File details
Details for the file fullapi-2.1.0-py3-none-any.whl.
File metadata
- Download URL: fullapi-2.1.0-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 |
c6d4c63c3b00713a81f6268e1dc1ae7026000ba91cd5ea452c809364997d7611
|
|
| MD5 |
00eef1468e5cc160aba01d91e9d7f780
|
|
| BLAKE2b-256 |
64898969debae4741aa300785353a92f2aea46086d5c0804762506d7af3ced3a
|