$npx skillfedfor your agent

edx-toggles

Library and utilities for feature toggles

With conditionsPyPI Application FrameworksReleased Apr 202679.3K downloads / moAGPL 3.0Pure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — edx_toggles-6.0.0-py2.py3-none-any.whl
v6.0.0 · released 2026-04-07 · 5 runtime deps: Django, code-annotations, django-crum, django-waffle, edx-django-utils

Yes, if you are building a Django application and need runtime feature control. The package is actively maintained, has low install friction, integrates cleanly with django-waffle, and carries no known vulnerabilities. The AGPL 3.0 license is a hard requirement—only use it if your project is AGPL-compatible or deployed privately. For non-AGPL projects, you would need to evaluate alternative feature flag libraries.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Django to be installed and configured; the module_name parameter is mandatory for WaffleFlag and WaffleSwitch constructors.
  • Low friction install with a pure Python wheel.
  • Actively maintained as of August 2026, with recent releases and a current repository.

License · maintenance · safety

AGPL 3.0 (agpl) — Licensed under AGPL 3.0, which requires that any modifications or derivative works distributed must also be released under AGPL 3.0 and make source code available. This is a copyleft license; use it only if your project can comply with those terms or if you are using it unmodified in a private deployment.

last release 2026-04-07 (129 days) · last repo commit 2026-08-10 · 6 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 79,284 downloads/mo, #14,368 on PyPI

Verify before relying

pip install edx-toggles

from edx_toggles.toggles import WaffleFlag

my_feature = WaffleFlag('my_namespace', 'my_feature', module_name=__name__)
if my_feature.is_enabled():
    # feature is active
  • Exact minimum Django version requirement (classifiers show 4.2 and 5.2 support, but no lower bound stated).
  • Whether Python 3.12 is the only supported version or if earlier 3.x versions are also supported.
  • Performance characteristics when managing large numbers of toggles or in high-request-volume scenarios.
Same gist for agents: .md · .json

What it is and what it does

edx-toggles is a Django library for managing feature toggles—runtime switches that control whether features are enabled or disabled without redeploying code. It integrates with django-waffle to store toggle state in the database, settings, or code annotations, and provides utilities for reporting on toggle status and lifecycle. The package is part of the Open edX ecosystem and is designed for applications that need to roll out features gradually, run A/B tests, or maintain feature flags for operational control.

The library exposes WaffleFlag and WaffleSwitch classes that you instantiate with a namespace and feature name, then call is_enabled() to check state at runtime. It also includes reporting scripts to audit all toggles in a codebase and extract their configuration. Recent versions dropped Python 3.8 support and added Django 5.2 compatibility, reflecting active maintenance for modern Django deployments.

Use it for

  • Gradually roll out new features to a subset of users by wrapping feature code in a toggle check.
  • Run A/B tests by enabling a feature for specific user cohorts via waffle conditions.
  • Disable problematic features in production without redeploying, using the admin interface or API.
  • Audit and document all feature toggles in a codebase using the included reporting scripts.
  • Manage deprecated features by toggling them off over time before removing code.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you are building a Django application and need runtime feature control.

The package is actively maintained, has low install friction, integrates cleanly with django-waffle, and carries no known vulnerabilities. The AGPL 3.0 license is a hard requirement—only use it if your project is AGPL-compatible or deployed privately. For non-AGPL projects, you would need to evaluate alternative feature flag libraries.

Install

edx-toggles on PyPI

Before you install

Low friction install with a pure Python wheel. Actively maintained as of August 2026, with recent releases and a current repository. Depends on Django and four edX-ecosystem packages (code-annotations, django-crum, django-waffle, edx-django-utils), all standard Django-adjacent libraries.

Requires Django to be installed and configured; the module_name parameter is mandatory for WaffleFlag and WaffleSwitch constructors.

License in practice

Licensed under AGPL 3.0, which requires that any modifications or derivative works distributed must also be released under AGPL 3.0 and make source code available. This is a copyleft license; use it only if your project can comply with those terms or if you are using it unmodified in a private deployment.

Quickstart

pip install edx-toggles

from edx_toggles.toggles import WaffleFlag

my_feature = WaffleFlag('my_namespace', 'my_feature', module_name=__name__)
if my_feature.is_enabled():
    # feature is active

Verify before relying

  • Exact minimum Django version requirement (classifiers show 4.2 and 5.2 support, but no lower bound stated).
  • Whether Python 3.12 is the only supported version or if earlier 3.x versions are also supported.
  • Performance characteristics when managing large numbers of toggles or in high-request-volume scenarios.

Package facts

LicenseAGPL 3.0 agpl
Python supportNot specified
Install frictionLow. Pure-Python wheel
Runtime dependencies
5 packages
Djangocode-annotationsdjango-crumdjango-waffleedx-django-utils
MaintenanceActively maintained 129 days since the last release
Last repo commit
First released
Downloads79,284 / month, #14,368 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 3 - AlphaFramework :: DjangoFramework :: Django :: 4.2Framework :: Django :: 5.2Intended Audience :: DevelopersLicense :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)Natural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3.12

Evidence: edx_toggles-6.0.0-py2.py3-none-any.whl

Tags

Capabilities
django feature togglesfeature flags djangoruntime feature controldjango waffle integrationfeature switch management
Topics
feature-flagsdjango-plugin
PyPI keywords
Djangoedx

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 toggles”

  • edx-togglesProvides Django-integrated feature toggle management, allowing you to…
  • django-waffleDjango Waffle provides feature flags (toggles) for Django…
  • openfeature-sdkOpenFeature Python SDK provides a vendor-agnostic API for feature…

Give your agent the search over MCP, or paste the wish link into any chat.

More Application Frameworks packages

fastapi Worth it
PyPI · Software Development · released Jul 2026

FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.

MITpure Python · 3.10+
568.6Mdownloads / mo
annotated-doc With conditions
PyPI · Software Development · released Jul 2026

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.

MITpure Python · 3.9+
456.2Mdownloads / mo
textual Worth it
PyPI · Application Frameworks · released Jun 2026

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.

MITpure Python
443.6Mdownloads / mo
typer Worth it
PyPI · Software Development · released Aug 2026

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.

MITpure Python · 3.10+
369.3Mdownloads / mo
mcp Worth it
PyPI · Application Frameworks · released Jul 2026

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.

MITpure Python · 3.10+
319.3Mdownloads / mo
Werkzeug Worth it
PyPI · Application Frameworks · released Apr 2026

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.

BSD-3-Clausepure Python · 3.9+
268.1Mdownloads / mo

See also django-waffle · edx-enterprise · edx-django-release-util · edx-django-utils · django-flags · flagsmith · edx-i18n-tools · sphinx-toggleprompt · sphinx-togglebutton · edx-drf-extensions