Skip to main content

Publish to PyPI Downloads

PyPI version License Swagger UI ReDoc

FlaskNova — lightweight Flask extension for automatic OpenAPI, docs, request validation, typed routing, and response serialization.

Overview FlaskNova provides small, focused tools to make building typed HTTP APIs with Flask easier: automatic OpenAPI generation, lightweight documentation UIs, request/response binders, and helpers for errors and logging.

Features (brief descriptions)

  • OpenAPI & docs: Produces an OpenAPI document (/openapi.json) and exposes lightweight UI routes (/docs, /redoc, /scalar) for quick inspection and manual testing.
  • Request parsing & validation: Bind and validate inputs using Pydantic models, dataclasses, or custom binder classes; includes Form and File helpers for form data and uploads.
  • Response serialization: Describe responses with response_model and return native types; the library serializes Pydantic/dataclass/custom objects consistently before returning JSON.
  • Typed routing & NovaBlueprint: Method-specific decorators (@app.get, @app.post, etc.) accept metadata and response_model to keep routes explicit and documented.
  • Dependency injection: Depend allows small provider callables to supply route arguments (useful for auth, services, or computed values).
  • Error handling & status helpers: RFC 7807 problem-detail responses and a status helper module for common HTTP status codes and consistency.
  • CLI utilities: Minimal CLI commands to generate request examples and inspect route metadata for development convenience.
  • Logging: Optional structured JSON logger when ANSI_COLOR_JSON_LOG is enabled in the app config.

Installation

pip install flask-nova

Minimal example

from flask_nova import FlaskNova, status
from pydantic import BaseModel

app = FlaskNova(__name__)

class User(BaseModel):
    username: str
    email: str

@app.post("/users", response_model=User)
def create_user(data: User):
    return data, status.CREATED

if __name__ == "__main__":
    app.run()

Examples

Documentation

License

  • MIT

Release files for flask-nova 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flask-nova 0.2.0
File Size Uploaded
flask_nova-0.2.0.tar.gz 28.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for flask-nova 0.2.0
File Interpreter ABI Platform
flask_nova-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 61.4 kB

Release files / flask_nova-0.2.0.tar.gz

Download URL flask_nova-0.2.0.tar.gz
Size 28.6 kB
Tags Source
SHA-256 checksum
How to use checksums
7799326983bf0d9934bfa026f859466e824e0916078500f91c62cb28b5334195
BLAKE2b-256 checksum
How to use checksums
10645e9bfaa5a1c7811942450b4af5ceb1728b17f30ab6f59e79387c69af2d2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / flask_nova-0.2.0-py3-none-any.whl

Download URL flask_nova-0.2.0-py3-none-any.whl
Size 32.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9ccdf750360a1f3e7c0cfb5d95fa1fc2dce5c5f2a105ae5f3df041b66e910dc8
BLAKE2b-256 checksum
How to use checksums
57950097c1740a69593e88ae97698db72d37ebb5324c66e77ed554862db6e5c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page