--- id: django-split-settings version: "1.3.2" license: BSD-2-Clause license_treatment: permissive maintenance: dormant --- # django-split-settings — Organize Django settings into multiple files and directories. Easily override and modify settings. Use wildcards and optional settings files. License: permissive · Maintenance: dormant · Downloads: 363.3K/mo ## What it is and what it does django-split-settings lets you break a monolithic Django settings.py into separate, composable files organized by concern—database config, installed apps, logging, environment-specific overrides—and include them in order. Each included file has access to the settings namespace built by previous files, so later files can import and modify earlier settings. You can use glob wildcards to include groups of files, mark files as optional (included only if they exist), and organize settings hierarchically in subdirectories. The package is a pure-Python utility with no dependencies, making it lightweight to add to any Django project. It's useful for teams managing multiple environments (dev, staging, production), for large projects where settings have grown unwieldy, or for monorepos where different services need different configurations. The main gotcha is that BASE_DIR path calculations need adjustment when settings becomes a module instead of a single file. Use it for: - Separate database, cache, logging, and app-specific settings into individual files for clarity and reuse. - Manage environment-specific overrides without duplicating base configuration across dev, staging, and production. - Organize settings by feature or app in a large Django project to reduce merge conflicts and improve maintainability. - Use wildcards to auto-include all settings from a directory without manually listing each file. - Mark optional settings files so local developer overrides don't break CI/CD or production deployments. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Splits Django settings across multiple files and directories with support for wildcards, optional files, and environment-specific overrides. Yes. The package is stable (Production/Stable status, no known vulnerabilities), has zero dependencies, and solves a real pain point in Django configuration management. Dormant maintenance is a minor concern—the package is simple and unlikely to need frequent updates—but verify compatibility with your specific Django and Python versions before adopting. ## Install pip install django-split-settings uv add django-split-settings poetry add django-split-settings ## Installing django-split-settings Before you install: Low friction: no runtime dependencies, pure Python wheel. Dormant maintenance (770 days since last release) but stable and production-ready; officially supports Django 4.2, 5.0, 5.1 and Python 3.9–3.12. License in practice: BSD-2-Clause permissive license; no restrictions on use, modification, or distribution in commercial or private projects. Quickstart: pip install django-split-settings # In settings/__init__.py or settings.py: from django_split_settings import optional, include include( 'components/base.py', 'components/database.py', optional('local_settings.py') ) Requires Python 3.9+ and Django 4.2, 5.0, or 5.1; BASE_DIR path calculation changes when settings becomes a module rather than a file. Verify before relying: - Whether dormant status (no commits in 770 days) affects compatibility with future Django or Python releases. - Performance impact of wildcard includes on large numbers of settings files. - Exact import path and API surface of the package's public interface. ## Package facts - License: BSD-2-Clause (permissive) - Python support: supports_current - Install friction: low - Maintenance: dormant - Downloads: 363.3K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags django settings organization, split django configuration, django settings management, modular django config, django settings files, django environment settings, django config inheritance, django-config, settings-management [View on SkillFed](https://skillfed.io/packages/django-split-settings) · [View on PyPI](https://pypi.org/project/django-split-settings/)