An enterprise-grade configuration orchestration engine designed to ingest, cascade, and deeply merge multiple configuration file layers.
Project description
Dynamic Configuration Loader
A lightweight, production-grade, strategy-driven configuration orchestration engine designed to dynamically discover, alphabetically sort, and recursively deep-merge multi-layered configuration files.
Copyright (C) 2026 Avinash Kumar <halfhiddencode AT gmail DOT com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Project Metadata
- Maintainer: Avinash Kumar
- Target Ecosystem: Python 3.8+ / GitLab Source Hosting and PyPI Package Registry
- Official Repository: python-dynamic-config-loader
- Licensing: Apache License, Version 2.0
- Core Design Patterns: Strategy Pattern, Registry Factory
Installation
Install the package directly from PyPI:
pip install dynamic-config-loader
Or install in editable mode for local development:
pip install -e .
Quick Start
import os
from dynamic_config_loader import DynamicConfigLoader
# 1. (Optional) Provide path override layers via system environment
os.environ["PYTHON_ADDITIONAL_CONFIG"] = "/app/configs/overrides_directory"
# 2. Instantiate with a local base configuration file
loader = DynamicConfigLoader(default_config_path="/app/configs/base_defaults.yaml")
# 3. Load and compile configurations
config = loader.load()
print(config["database"]["host"])
Documentation Index
The complete enterprise documentation is organized under the Diátaxis framework layout rules within the docs/ directory. No emojis are used in the index or guidelines.
| Track | Target Document | Description |
|---|---|---|
| Getting Started | Getting Started Tutorial | Onboarding sequence, repeatable format tracks, and installation via GitLab Package Registry. |
| Operations Guide | Advanced Ingestion and Path Traversal Guide | Path parsing matrix, edge-case refusals, Central Config Manager pattern, and log masking safety details. |
| Contributor Guide | Format Strategy Contribution Guide | Abstract base strategy class signatures, factory registration hooks, and copy-pasteable JSON blueprints. |
| Technical Reference | Core Architecture Reference | System design architecture, UML mapping, execution pipelines, and logging safety compliance matrices. |
Repository Ledgers
- Version History: CHANGELOG.md
- Security Policy: SECURITY.md
- Contribution Protocols: CONTRIBUTING.md
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dynamic_config_loader-2.3.0.tar.gz.
File metadata
- Download URL: dynamic_config_loader-2.3.0.tar.gz
- Upload date:
- Size: 26.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a5f16f4329cfc8305c709f5af4e74f7ba8cabccdd2da63287fb9f5edde60957
|
|
| MD5 |
f7040b249990bca40c6e902319c8d11c
|
|
| BLAKE2b-256 |
eff401646bd8c3cc952705808df76ebb4bb808b18fa3fc8b163cb8b8d93af3fe
|
File details
Details for the file dynamic_config_loader-2.3.0-py3-none-any.whl.
File metadata
- Download URL: dynamic_config_loader-2.3.0-py3-none-any.whl
- Upload date:
- Size: 29.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f0fbeaf7c12e3273ffdfbf2959284c48445a4d500d19d88348e191850d438c9
|
|
| MD5 |
a6f912a7cd4062836d91387e74d01603
|
|
| BLAKE2b-256 |
7c0334a348853415d5c43324742e98223edec2088b034bca6f9421c545f5c78d
|