didactic-fastapi
FastAPI integration for dx.Model types.
Contributes didactic.fastapi to the namespace package.
Install
pip install didactic-fastapi
The package depends on didactic, didactic-pydantic, and
fastapi>=0.115.
Quickstart
import didactic.api as dx
from fastapi import FastAPI
from didactic.fastapi import as_response, register_validation_handler
class User(dx.Model):
id: str
email: str
app = FastAPI()
register_validation_handler(app)
@app.get("/users/{uid}", response_model=as_response(User))
def get_user(uid: str) -> User:
return User(id=uid, email="ada@example.org")
as_response(model) returns a pydantic.BaseModel subclass
mirroring the input dx.Model. FastAPI uses the result for response
validation and OpenAPI generation. The conversion is cached per input
class.
as_request(model) is a synonym; use whichever name reads naturally
in your route signatures.
register_validation_handler(app) installs an exception handler so
that dx.ValidationError raised inside a route surfaces as a 422
response shaped like FastAPI's own validation errors.
Documentation
See Guides > FastAPI for the full integration guide and caveats.
License
Released under the MIT License.
Metadata
Release files for didactic-fastapi 0.15.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| didactic_fastapi-0.15.0.tar.gz | 3.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| didactic_fastapi-0.15.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.4 kB
Release files / didactic_fastapi-0.15.0.tar.gz
| Download URL | didactic_fastapi-0.15.0.tar.gz |
|---|---|
| Size | 3.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
85cebe162d36d61fd40bfb5a86aff9336123430d57aa81826af971a5bf4a94be
|
|
BLAKE2b-256 checksum How to use checksums |
b0066bb73d9b6f0f750167ed44b0db85d98d221205da86050940b6cc9ad7ce59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 12, 2026.
Transparency logRelease files / didactic_fastapi-0.15.0-py3-none-any.whl
| Download URL | didactic_fastapi-0.15.0-py3-none-any.whl |
|---|---|
| Size | 4.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3e3ec5e629b3cc279cfc061d23c30dde43d474ae9f9179d783eac29299ba7b2b
|
|
BLAKE2b-256 checksum How to use checksums |
4c9ad8ee243954739b7a41d5fcddd34c7fe8acf977451c07395ebe3c370592f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 12, 2026.
Transparency log