flasgger
Extract swagger specs from your flask project
Decision gist · record as of 2026-08-14
Yes, with conditions. Flasgger is suitable for Flask projects that need lightweight, embedded API documentation and request validation. However, install only if you can verify compatibility with your Flask and Python versions—the package has been dormant since 2023-05-18 and may have unresolved issues with modern versions. For new projects, consider actively maintained alternatives or check the GitHub repository for recent community forks.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires an existing Flask application; Marshmallow and apispec are optional dependencies for schema-based validation.
- Installation friction is high.
- The package has been dormant since its last release on 2023-05-18, with no recent maintenance activity.
License · maintenance · safety
MIT (permissive) — MIT license is permissive and places no restrictions on commercial or private use, modification, or redistribution, making it safe for most projects.
last release 2023-05-18 (1184 days) · last repo commit 2024-06-17 · 3,741 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 859,576 downloads/mo, #4,877 on PyPI
Alternatives
Verify before relying
pip install flasgger
from flasgger import Swagger
swagger = Swagger(app)
@app.route('/colors/<palette>')
def colors(palette):
"""Example endpoint
---
parameters:
- name: palette
in: path
type: string
responses:
200:
description: A list of colors
"""
return {'colors': ['red', 'green', 'blue']}- Current compatibility with modern Flask versions given the dormancy since 2023-05-18.
- Whether the package works with Python versions beyond 3.6 (the only version in classifiers).
- Status of OpenAPI 3.0 support mentioned in documentation versus actual implementation.
- Whether high install friction stems from compiled dependencies or dependency conflicts.
What it is and what it does
Flasgger is a Flask extension that automatically generates OpenAPI specifications from your Flask application's routes and serves an interactive Swagger UI at a configurable endpoint. It reads API documentation from Flask view docstrings, external YAML files, Python dictionaries, or Marshmallow schemas, then uses that same specification to validate incoming POST, PUT, and PATCH request bodies against the defined schema.
The package integrates with Flask-RESTful resources and supports Marshmallow APISpec as a base template. It embeds Swagger UI directly, eliminating the need for external hosting or separate documentation tools. However, the project has not been actively maintained since 2023-05-18, and the fact sheet provides no runtime dependencies, suggesting a lightweight but potentially aging implementation.
Use it for
- Auto-generate interactive API documentation for Flask REST APIs without writing separate documentation files.
- Validate incoming JSON request bodies against OpenAPI schemas defined in docstrings or YAML files.
- Provide a live, browsable Swagger UI for API consumers to explore and test endpoints.
- Maintain API specifications alongside code by embedding them in Flask view docstrings.
- Integrate API documentation into Flask-RESTful resource-based applications with minimal configuration.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with conditions.
Flasgger is suitable for Flask projects that need lightweight, embedded API documentation and request validation. However, install only if you can verify compatibility with your Flask and Python versions—the package has been dormant since 2023-05-18 and may have unresolved issues with modern versions. For new projects, consider actively maintained alternatives or check the GitHub repository for recent community forks.
Install
flasgger on PyPI
Before you install
Installation friction is high. The package has been dormant since its last release on 2023-05-18, with no recent maintenance activity. The repository remains archived as false on GitHub with 3741 stars, but the lack of recent updates may indicate compatibility issues with current dependencies.
Requires an existing Flask application; Marshmallow and apispec are optional dependencies for schema-based validation.
License in practice
MIT license is permissive and places no restrictions on commercial or private use, modification, or redistribution, making it safe for most projects.
Quickstart
pip install flasgger
from flasgger import Swagger
swagger = Swagger(app)
@app.route('/colors/<palette>')
def colors(palette):
"""Example endpoint
---
parameters:
- name: palette
in: path
type: string
responses:
200:
description: A list of colors
"""
return {'colors': ['red', 'green', 'blue']}
Verify before relying
- Current compatibility with modern Flask versions given the dormancy since 2023-05-18.
- Whether the package works with Python versions beyond 3.6 (the only version in classifiers).
- Status of OpenAPI 3.0 support mentioned in documentation versus actual implementation.
- Whether high install friction stems from compiled dependencies or dependency conflicts.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Dormant 1,184 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 859,576 / month, #4,877 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersProgramming Language :: Python :: 3Programming Language :: Python :: 3.6 |
Evidence: flasgger-0.9.7.1.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
An agent finds packages by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language. Give your agent the search over MCP.
More Dynamic Content packages
MarkupSafe provides a text object that escapes special characters so untrusted strings can be safely embedded in HTML and XML without injection attacks.
Jinja2 is a templating engine that renders dynamic content by combining templates with Python-like syntax and data, supporting template inheritance, macros, autoescaping, and sandboxed execution.
Soupsieve is a CSS selector library designed to work with Beautiful Soup 4 to select, match, and filter HTML and XML elements using modern CSS selectors from CSS level 1 through CSS level 4 specifications.
Install it if you use Beautiful Soup for HTML or XML parsing and want modern CSS selector support.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
Flask is a lightweight WSGI web application framework for building web applications in Python, from simple single-page sites to complex multi-route applications.
Mako compiles Python-embedded templates into Python modules for fast rendering, supporting layout inheritance, custom functions, and direct Python expressions within template syntax.
See also flask-swagger · flask-apispec · flask-swagger-ui · APIFlask · apispec · swagger-ui-py · flask-openapi3-swagger · flask-pydantic-spec · flask-openapi3 · apispec-webframeworks