--- id: simple-settings version: "1.2.0" license: MIT license_treatment: permissive maintenance: dormant --- # simple-settings — A simple way to manage your project settings. License: permissive · Maintenance: dormant · Downloads: 262.4K/mo ## What it is and what it does simple-settings is a lightweight configuration management tool inspired by Django's settings system but designed for any Python project. It reads settings from a Python module you specify and exposes them as properties of the settings object, allowing you to access configuration values throughout your application. You specify which settings module to load either via the --settings command-line argument or the SIMPLE_SETTINGS environment variable, and the package handles the rest. The package supports multiple configuration file formats—Python modules, YAML, JSON, TOML, and CFG files—and can load settings from environment variables as well. It includes features like runtime configuration changes via the configure() method, loading multiple settings modules in sequence (with later ones overriding earlier values), and optional logging configuration. Special settings like OVERRIDE_BY_ENV and REQUIRED_SETTINGS let you control how settings are loaded and validated. Use it for: - Manage development, staging, and production settings by switching between different settings modules at runtime without code changes. - Load sensitive configuration (API tokens, database credentials) from environment variables while keeping defaults in version-controlled settings files. - Configure logging centrally using Python's dictConfig format and have simple-settings apply it automatically on startup. - Support multiple configuration file formats in a single project, mixing Python modules with YAML or JSON for different settings layers. - Validate that required settings are present before the application starts, preventing runtime errors from missing configuration. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Loads and manages application settings from Python modules, environment variables, or configuration files (YAML, JSON, TOML, CFG) via command-line or environment variable specification. Yes, for stable projects with straightforward configuration needs and no requirement for active maintenance. The package is mature, has no dependencies, and works reliably for its intended purpose. However, avoid it if you need ongoing support for new Python versions, active bug fixes, or integration with modern configuration patterns—the dormant status since 2021 means new issues are unlikely to be addressed. ## Install pip install simple-settings uv add simple-settings poetry add simple-settings ## Installing simple-settings Before you install: Low install friction with no runtime dependencies. Maintenance is dormant—last release was 2021-12-30, over 1688 days ago, though the repository remains active with a recent commit on 2024-08-17. Suitable for stable, self-contained use cases but unlikely to receive updates for new Python versions or emerging patterns. License in practice: MIT license (permissive) imposes no significant restrictions on use, modification, or redistribution in commercial or private projects. Quickstart: from simple_settings import settings # Run with: python app.py --settings=project_settings # Or set: export SIMPLE_SETTINGS=project_settings print(settings.FOO) Requires Python 3.6.1 or later. Settings module must be specified via --settings command-line argument or SIMPLE_SETTINGS environment variable before importing settings. Verify before relying: - Whether the package still works reliably with Python 3.10+ given the dormant maintenance status since 2021. - Current state of optional dependencies (yaml, toml extras) and their compatibility with modern versions. - Whether dynamic settings backend (redis) integration is actively maintained. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: dormant - Downloads: 262.4K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags settings management configuration, load config from files, environment variable settings, django-like settings system, python configuration loader, app settings management, multi-format config loader, configuration-management, settings-loader [View on SkillFed](https://skillfed.io/packages/simple-settings) · [View on PyPI](https://pypi.org/project/simple-settings/)