Flask-Principal
Identity management for flask
What it is and what it does
Flask-Principal is a Flask extension for managing user identity and permissions within web applications. It provides a framework for tracking the current user's identity across requests and enforcing role-based access control rules. The package integrates with Flask's request context to make identity information available throughout the application lifecycle.
The package was last released in 2013-06-14 and is no longer actively maintained. While it has no external runtime dependencies and carries a permissive MIT license, its age and abandoned status mean it may require compatibility patches to work with modern Flask versions or current Python releases.
Use it for:
- Implementing role-based access control in Flask applications where routes or resources are restricted to users with specific roles.
- Tracking the current user's identity and permissions across multiple requests within a Flask application.
- Building multi-tenant Flask applications where different users have different permission levels.
- Enforcing fine-grained authorization rules based on user identity within Flask request handlers.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Flask-Principal provides identity and permission management for Flask applications, enabling role-based access control and user identity tracking within web requests.
No. Flask-Principal is abandoned (last release 2013-06-14) with high install friction and unspecified Python support. Modern Flask applications should use actively maintained alternatives. Installing this package risks compatibility issues with current Flask and Python versions and leaves you without maintenance support.
Install
flask-principal on PyPI
pip
pip install flask-principaluv
uv add flask-principalpoetry
poetry add flask-principalInstalling Flask-Principal
Before you install
High install friction and abandoned status (last release 2013-06-14) signal this package is no longer maintained. No runtime dependencies, but lack of recent updates means compatibility issues with modern Flask versions or Python releases are likely.
License in practice
MIT license is permissive and poses no legal restrictions on use, modification, or redistribution in commercial or private projects.
Quickstart
pip install Flask-Principal==0.4.0
from flask import Flask
from flask_principal import Principal
app = Flask(__name__)
Principal(app)
Requires Flask; Python version support unspecified in metadata.
Verify before relying
- Compatibility with current Flask versions and modern Python releases.
- Whether Beta development status reflects actual stability or incomplete features.
- Active community support or workarounds for issues in this abandoned codebase.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 4,809 days since the last release |
| First released | |
| Downloads | 324,688/month — #7,592 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: Flask-Principal-0.4.0.tar.gz
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
Flask-SecurityFlask-Security adds authentication,…
permissive · top 15,000 on PyPI
Flask-Security-TooAdds user authentication, authorization, and…
permissive · top 15,000 on PyPI
Flask-LoginFlask-Login handles user session management for…
permissive · top 1,000 on PyPI
django-prbacImplements parameterized role-based access…
unclear · top 15,000 on PyPI
flask-appbuilderFlask App Builder is a framework that generates…
permissive · top 5,000 on PyPI
Flask-OpenIDAdds OpenID authentication support to Flask web…
permissive · top 5,000 on PyPI
zope.securityProvides a generic security framework for…
unclear · top 15,000 on PyPI
invenio-records-permissionsDefines and enforces permission policies for…
permissive · top 15,000 on PyPI
Flask-BasicAuthFlask-BasicAuth adds HTTP basic access…
permissive · top 15,000 on PyPI
casbinCasbin enforces access control policies (ACL,…
permissive · top 5,000 on PyPI