django-dynamic-preferences
Dynamic global and instance settings for your django project
Decision gist · record as of 2026-08-14
Yes, if you need runtime-configurable settings in Django and can tolerate aging maintenance. The package is stable (Production/Stable status), has no known vulnerabilities, and low install friction. However, verify compatibility with your Django version before adopting, given the 581-day gap since the last release.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Django to be installed and configured; the package is a Django app and cannot function standalone.
- Low friction install with only two runtime dependencies (django and persisting_theory).
- Maintenance status is aging—last release was 581 days ago, though the repository remains active with a recent commit on 2026-01-22.
License · maintenance · safety
BSD (permissive) — BSD license is permissive, allowing commercial and private use with minimal restrictions.
last release 2025-01-10 (581 days) · last repo commit 2026-01-22 · 360 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 161,890 downloads/mo, #10,619 on PyPI
Alternatives
Verify before relying
pip install django-dynamic-preferences
import django_dynamic_preferences
# Register and access preferences through the package's API- Whether persisting_theory is a lightweight utility or introduces significant transitive dependencies.
- Whether the aging maintenance status (581 days since last release) affects compatibility with recent Django versions.
- How performance scales with large numbers of preferences or high-frequency preference lookups.
- Specific API entry points and usage patterns beyond what the description excerpt provides.
What it is and what it does
django-dynamic-preferences is a Django app that moves application settings from static configuration files into a database, enabling them to be modified at runtime without restarting the server. It handles both global preferences and per-instance settings through a declarative registration system, automatically serializing and deserializing preference values. The package integrates with Django's admin interface and caching mechanisms, making it practical for applications where settings need to change frequently or vary by user or tenant.
The package is designed for situations where a static settings.py file is insufficient—particularly when you need per-user customization or the ability to update configuration on the fly. Instead of adding columns to a profile table for each new setting, you register preferences declaratively, and the package handles storage and retrieval. It has been in production use since 2014 and is tested against Python 3.7, 3.8, 3.9, 3.10 and 3.11 with django 3.2 and 4.2.
Use it for
- Store per-user feature flags or display preferences that can be toggled in the admin interface without restarting.
- Manage global application settings that need to be updated at runtime without server restart.
- Build multi-tenant applications where each tenant or organization has its own preference set.
- Implement user-customizable site settings editable via admin or custom forms.
- Leverage django caching mechanisms to avoid repeated database hits for frequently accessed settings.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need runtime-configurable settings in Django and can tolerate aging maintenance.
The package is stable (Production/Stable status), has no known vulnerabilities, and low install friction. However, verify compatibility with your Django version before adopting, given the 581-day gap since the last release.
Install
django-dynamic-preferences on PyPI
Before you install
Low friction install with only two runtime dependencies (django and persisting_theory). Maintenance status is aging—last release was 581 days ago, though the repository remains active with a recent commit on 2026-01-22.
Requires Django to be installed and configured; the package is a Django app and cannot function standalone.
License in practice
BSD license is permissive, allowing commercial and private use with minimal restrictions.
Quickstart
pip install django-dynamic-preferences
import django_dynamic_preferences
# Register and access preferences through the package's API
Verify before relying
- Whether persisting_theory is a lightweight utility or introduces significant transitive dependencies.
- Whether the aging maintenance status (581 days since last release) affects compatibility with recent Django versions.
- How performance scales with large numbers of preferences or high-frequency preference lookups.
- Specific API entry points and usage patterns beyond what the description excerpt provides.
Package facts
| License | BSD permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesdjangopersisting_theory |
| Maintenance | Aging 581 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 161,890 / month, #10,619 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableFramework :: DjangoIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseNatural Language :: EnglishProgramming Language :: Python :: 3 |
Evidence: django_dynamic_preferences-1.17.0-py2.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 › “per-user preferences django”
- django-dynamic-preferencesStores and retrieves application settings dynamically in a Django…
- agent-framework-mem0Integrates Mem0 persistent memory into Microsoft Agent Framework…
- django-eventstreamAdds Server-Sent Events (SSE) streaming to Django applications,…
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-constance · drf-extensions · django-split-settings · django-enumfields · django-colorfield · django-solo · django-json-widget · django-admin-tools · django-flags · django-object-actions