{"categories":[{"label":"Application Frameworks","url":"https://skillfed.io/packages/category/software-development-libraries-application-frameworks/4"}],"enrichment":{"capability":"Stores and retrieves application settings dynamically in a Django database, allowing per-user or per-instance preferences to be updated without server restart.","skillfed_tags":["django-app","configuration-management","per-user-settings"],"use_cases":["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."],"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.\n\nThe package is designed for situations where a static settings.py file is insufficient\u2014particularly 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.","worth_installing":"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."},"id":"django-dynamic-preferences","links":{"html":"https://skillfed.io/packages/django-dynamic-preferences","md":"https://skillfed.io/packages/django-dynamic-preferences.md","pypi":"https://pypi.org/project/django-dynamic-preferences/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2025-01-10","license_spdx":null,"license_treatment":"permissive","name":"django-dynamic-preferences","python_support":"unspecified","summary":"Dynamic global and instance settings for your django project"},"popularity":{"monthly_downloads":161890,"position":10619,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.17.0"}
