Prauga FlexDoc Python adapter
prauga-flexdoc 0.7.2 packages one framework-neutral Python host plus ASGI and WSGI transports. The wheel is self-contained, includes the canonical renderer assets, and keeps FastAPI, Flask, and Django optional.
FastAPI / ASGI
from fastapi import FastAPI
from prauga_flexdoc import setup_fastapi_flexdoc
app = FastAPI(docs_url=None, redoc_url=None)
setup_fastapi_flexdoc(app, '/docs', title='My API')
FastAPI can opt into FlexDoc 3.0 Runtime Intelligence:
setup_fastapi_flexdoc(
app,
'/docs',
title='My API',
runtime_intelligence=True,
)
When enabled, the helper inspects the live FastAPI/Starlette route tree and serves a no-store snapshot from /docs/__flexdoc/runtime. It compares runtime route presence with app.openapi(), reports Python/FastAPI runtime metadata and request-derived server origin, normalizes Starlette path converters, and marks opaque mounts partial rather than inventing routes. Runtime Intelligence is FastAPI-only in this adapter release; generic ASGI, Flask, Django, and WSGI hosts do not advertise it yet.
Runtime snapshots may reveal endpoints intentionally omitted from OpenAPI. The Python adapter currently relies on application middleware or upstream access control rather than a FlexDoc-native docs-auth option, so protect the FlexDoc docs subtree before enabling Runtime Intelligence on non-private documentation.
For a generic ASGI host:
from prauga_flexdoc import FlexDocASGI, FlexDocConfig
app.mount('/docs', FlexDocASGI(
FlexDocConfig(path='/docs', spec_url='/openapi.json', title='My API')
))
FlexDocConfig and the FastAPI/Flask/Django helpers also accept expand, try_it_default_server, try_it_credentials, and try_it_api_client_persistence_key; the persistence key may be a string or False, and unset values are omitted from renderer options.
Flask / WSGI
from flask import Flask
from prauga_flexdoc import setup_flask_flexdoc
app = Flask(__name__)
setup_flask_flexdoc(app, '/docs', spec_url='/openapi.json', title='My API')
For another WSGI server or framework, use FlexDocWSGI(FlexDocConfig(...)) directly.
Django
from django.urls import path
from prauga_flexdoc import django_urlpatterns
urlpatterns = [
# your API/OpenAPI routes
*django_urlpatterns('/docs', spec_url='/openapi.json', title='My API'),
]
Django ASGI applications can also mount/use FlexDocASGI; Django WSGI applications can use FlexDocWSGI. django_urlpatterns() is the first-class native URL-routing helper.
Architecture
FlexDocHost synchronously owns route matching, the HTML bootstrap, renderer fingerprinting, cache policy, and packaged JS/CSS. FlexDocASGI translates that neutral response to ASGI and can expose a framework-supplied live runtime snapshot. FlexDocWSGI only translates the neutral host response. Framework helpers do not fork renderer behavior.
Pass assets_dir= to FlexDocHost, FlexDocASGI, or FlexDocWSGI only when intentionally overriding the bundled renderer assets during development.
Release files for prauga-flexdoc 0.7.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| prauga_flexdoc-0.7.2.tar.gz | 285.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| prauga_flexdoc-0.7.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 568.8 kB
Release files / prauga_flexdoc-0.7.2.tar.gz
| Download URL | prauga_flexdoc-0.7.2.tar.gz |
|---|---|
| Size | 285.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a5edb1217db3f78119dc9ad579e2c9104efec2ed54c235999eea2ed145984f3d
|
|
BLAKE2b-256 checksum How to use checksums |
a48456fb8d53d952b7f0194c67d99c9b82360c898643e355242eef04b7aa91de
|
| 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 8, 2026.
Transparency logRelease files / prauga_flexdoc-0.7.2-py3-none-any.whl
| Download URL | prauga_flexdoc-0.7.2-py3-none-any.whl |
|---|---|
| Size | 283.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e5fcf44c2c3d9b85c37595da21a2544bcf4ee37e8d394aca2fc91e16b0bfaa0a
|
|
BLAKE2b-256 checksum How to use checksums |
02285c84bdd01922024c710a3add93b757cc0dddb4ffd09c978c031fcb9c4212
|
| 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 8, 2026.
Transparency log