django-flags
Feature flags for Django projects
Decision gist · record as of 2026-08-14
Yes. Django-Flags is actively maintained, has no security vulnerabilities, minimal install friction, and solves a common need in Django projects. The permissive CC0-1.0 license removes any legal friction. Install it if you need runtime control over feature availability without redeployment.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Django 4.2+ and Python 3.10+; you must add 'flags' to INSTALLED_APPS for the app to function.
- Low install friction: pure Python wheel with only Django as a runtime dependency.
- Active maintenance with a recent release (185 days ago) and ongoing commits; supports current Python versions (3.10–3.13) and modern Django versions (4.2–6.0).
License · maintenance · safety
CC0-1.0 (permissive) — Licensed under CC0-1.0 (public domain equivalent), which is permissive and imposes no restrictions on use, modification, or redistribution in your own projects.
last release 2026-02-10 (185 days) · last repo commit 2026-04-27 · 298 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 309,132 downloads/mo, #7,760 on PyPI
Alternatives
Verify before relying
pip install django-flags
# In settings.py, add to INSTALLED_APPS:
INSTALLED_APPS = [
...
'flags',
]
# In your view or template:
from flags.conditions import flag_enabled
if flag_enabled('my_feature'):
# Feature code here
passWhat it is and what it does
Django-Flags is a feature flag system that lets you control feature availability in Django applications without redeploying code. You define flags in Django settings or the admin interface and toggle them based on conditions—date ranges, specific users, URL parameters, or custom logic—to stage rollouts, run A/B tests, or gate experimental features.
The package integrates directly into Django's template system and Python code, so you can wrap features in conditional blocks that check flag state at runtime. Flags are editable through Django's admin interface, making it possible for non-developers to manage feature availability. It requires Python 3.10+ and Django 4.2+, and has no additional runtime dependencies beyond Django itself.
Use it for
- Stage feature rollouts gradually to users by enabling a flag for a percentage of traffic or specific user groups.
- Run A/B tests by toggling different code paths for different user segments based on flag conditions.
- Disable problematic features in production without redeploying by flipping a flag in the admin interface.
- Test new functionality in production with a small set of users before full release.
- Manage time-limited features or promotions that activate on specific dates.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Django-Flags is actively maintained, has no security vulnerabilities, minimal install friction, and solves a common need in Django projects. The permissive CC0-1.0 license removes any legal friction. Install it if you need runtime control over feature availability without redeployment.
Install
django-flags on PyPI
Before you install
Low install friction: pure Python wheel with only Django as a runtime dependency. Active maintenance with a recent release (185 days ago) and ongoing commits; supports current Python versions (3.10–3.13) and modern Django versions (4.2–6.0).
Requires Django 4.2+ and Python 3.10+; you must add 'flags' to INSTALLED_APPS for the app to function.
License in practice
Licensed under CC0-1.0 (public domain equivalent), which is permissive and imposes no restrictions on use, modification, or redistribution in your own projects.
Quickstart
pip install django-flags
# In settings.py, add to INSTALLED_APPS:
INSTALLED_APPS = [
...
'flags',
]
# In your view or template:
from flags.conditions import flag_enabled
if flag_enabled('my_feature'):
# Feature code here
pass
Package facts
| License | CC0-1.0 permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagedjango |
| Maintenance | Actively maintained 185 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 309,132 / month, #7,760 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Framework :: DjangoFramework :: Django :: 4.2Framework :: Django :: 5.1Framework :: Django :: 5.2Framework :: Django :: 6.0Programming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13 |
Evidence: django_flags-5.2.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 › “django feature flags”
- django-flagsDjango-Flags provides a feature flag system for Django projects,…
- django-waffleDjango Waffle provides feature flags (toggles) for Django…
- edx-togglesProvides Django-integrated feature toggle management, allowing you to…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
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.
See also django-waffle · FeatureManagement · django-countries · edx-toggles · flagsmith · django-bitfield · UnleashClient · django-admin-env-notice · django-extensions · yggdrasil-engine