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

Metadata

Release files for flask-nova 0.2.1

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.1
File Size Uploaded
flask_nova-0.2.1.tar.gz 30.3 kB Details

Built distribution (wheel)

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

Total release size: 65.1 kB

Release files / flask_nova-0.2.1.tar.gz

Download URL flask_nova-0.2.1.tar.gz
Size 30.3 kB
Tags Source
SHA-256 checksum
How to use checksums
daf08f71be8b7c99b7f74988dd0449ec2ca744bb64827431578c4d96f170efd5
BLAKE2b-256 checksum
How to use checksums
cb25734925c405d0b4c85232308261752e4a5ca6c26df2ed4c52c97c4ee3ac56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","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.1-py3-none-any.whl

Download URL flask_nova-0.2.1-py3-none-any.whl
Size 34.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
78de296e5898933f7516c69e867df4a3f76c9b98f404474389bbcf6fb7f3d6c9
BLAKE2b-256 checksum
How to use checksums
063547a35df07572ad609213082e6d5593c0a222884c3a806f269fe619819c04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","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.1 This release

2 release files

0.2.0

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