skillfed

Flask-Principal

Identity management for flask

flask-principal v0.4.0 324.7K downloads/30d#7,592 on PyPI
Permissive license MIT Abandoned released

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-principal

uv

uv add flask-principal

poetry

poetry add flask-principal

Installing 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

Development Status :: 4 - BetaEnvironment :: Web EnvironmentIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonTopic :: Internet :: WWW/HTTP :: Dynamic ContentTopic :: Software Development :: Libraries :: Python Modules

Tags

flask identity managementrole-based access control flaskflask permissionsflask authorizationidentity tracking flaskflask aclflask user roles
authenticationauthorizationabandoned

More Python Modules packages