Flask-Pydantic
Flask extension for integration with Pydantic library.
Decision gist · record as of 2026-08-14
Yes, with conditions. Install if you are building Flask applications that already use Pydantic and want to reduce boilerplate around request validation. The low install friction, permissive license, and backing from the Pallets Community Ecosystem make it a safe choice. However, note that maintenance is aging (235 days since last release); verify compatibility with your specific Flask and Pydantic versions before adopting.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.7 or later; Flask and Pydantic must be installed as runtime dependencies.
- Low friction install with three straightforward runtime dependencies.
- Maintenance status is aging—last release was 235 days ago—but the repository remains active and part of the Pallets Community Ecosystem, which provides organizational backing for Flask extensions.
License · maintenance · safety
permissive license (permissive) — Licensed under the MIT License (permissive), allowing free use, modification, and distribution with minimal restrictions.
last release 2025-12-22 (235 days) · last repo commit 2025-12-22 · 434 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 635,560 downloads/mo, #5,636 on PyPI
Alternatives
Verify before relying
pip install Flask-Pydantic
from flask import Flask
from pydantic import BaseModel
from flask_pydantic import validate
app = Flask(__name__)
class QueryModel(BaseModel):
age: int
@app.route('/', methods=['GET'])
@validate()
def get(query: QueryModel):
return {'age': query.age}- Whether the aging maintenance status (235 days since last release) affects compatibility with recent Flask or Pydantic versions
- Performance characteristics when validating large request payloads or complex nested models
What it is and what it does
Flask-Pydantic is a Flask extension that bridges Flask request handling with Pydantic's validation framework. It provides a `@validate()` decorator that intercepts incoming HTTP requests, extracts parameters from query strings, request bodies, form data, and URL paths, validates them against Pydantic models, and makes the validated data available to your route handler either through function arguments or via Flask's request object.
The decorator automatically returns a 400 response with detailed validation errors if any parameter fails validation. It supports customizing success status codes, handling multiple models in responses or request bodies, and leverages Pydantic's alias feature for field name mapping. The package depends on Flask, Pydantic, and typing_extensions, making it a lightweight addition to existing Flask applications that already use Pydantic.
Use it for
- Validate incoming JSON request bodies against Pydantic models before processing in POST/PUT endpoints
- Enforce type checking and required fields on query parameters without manual parsing or try-catch blocks
- Parse and validate URL path parameters (e.g., `/users/<user_id>`) as typed integers or other Pydantic-supported types
- Combine validation of query, body, and form data in a single route handler with clear type hints
- Automatically serialize Pydantic model instances back to JSON responses with optional field aliasing
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with conditions.
Install if you are building Flask applications that already use Pydantic and want to reduce boilerplate around request validation. The low install friction, permissive license, and backing from the Pallets Community Ecosystem make it a safe choice. However, note that maintenance is aging (235 days since last release); verify compatibility with your specific Flask and Pydantic versions before adopting.
Install
flask-pydantic on PyPI
Before you install
Low friction install with three straightforward runtime dependencies. Maintenance status is aging—last release was 235 days ago—but the repository remains active and part of the Pallets Community Ecosystem, which provides organizational backing for Flask extensions.
Requires Python 3.7 or later; Flask and Pydantic must be installed as runtime dependencies.
License in practice
Licensed under the MIT License (permissive), allowing free use, modification, and distribution with minimal restrictions.
Quickstart
pip install Flask-Pydantic
from flask import Flask
from pydantic import BaseModel
from flask_pydantic import validate
app = Flask(__name__)
class QueryModel(BaseModel):
age: int
@app.route('/', methods=['GET'])
@validate()
def get(query: QueryModel):
return {'age': query.age}
Verify before relying
- Whether the aging maintenance status (235 days since last release) affects compatibility with recent Flask or Pydantic versions
- Performance characteristics when validating large request payloads or complex nested models
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.7 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesFlaskpydantictyping_extensions |
| Maintenance | Aging 235 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 635,560 / month, #5,636 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Environment :: Web EnvironmentFramework :: FlaskIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonTopic :: Internet :: WWW/HTTP :: Dynamic ContentTopic :: Software Development :: Libraries :: Python Modules |
Evidence: flask_pydantic-0.14.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “flask request validation”
- Flask-PydanticAdds Pydantic model validation to Flask route handlers, automatically…
- flask-pydantic-specAdds OpenAPI documentation generation and request/response validation…
- flask-restplusFlask-RESTPlus adds decorators and tools to Flask for building REST…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also flask-pydantic-spec · flask-openapi3 · pydantic-handlebars · APIFlask · drf-pydantic · pydantic-partial · bump-pydantic · pydantic_core · Flask-WTF · Flask-Caching