--- id: django-dynamic-preferences version: "1.17.0" license: BSD license_treatment: permissive maintenance: aging --- # django-dynamic-preferences — Dynamic global and instance settings for your django project License: permissive · Maintenance: aging · Downloads: 161.9K/mo ## 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 above — verify before relying. Stores and retrieves application settings dynamically in a Django database, allowing per-user or per-instance preferences to be updated without server restart. 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 pip install django-dynamic-preferences uv add django-dynamic-preferences poetry add django-dynamic-preferences ## Installing django-dynamic-preferences 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. 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 Requires Django to be installed and configured; the package is a Django app and cannot function standalone. 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: unspecified - Install friction: low - Maintenance: aging - Downloads: 161.9K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags django dynamic settings, per-user preferences django, django settings without restart, django admin settings management, configurable django preferences, django settings database storage, runtime django configuration, django-app, configuration-management, per-user-settings [View on SkillFed](https://skillfed.io/packages/django-dynamic-preferences) · [View on PyPI](https://pypi.org/project/django-dynamic-preferences/)