Skip to main content

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.

Supported Formats

The orchestration engine natively parses and cascades the following configuration formats:

  • YAML (.yaml, .yml)
  • JSON (.json)
  • XML (.xml)
  • TOML (.toml)
  • INI / Conf (.ini, .conf)
  • Java Properties (.properties)
  • Dotenv (.env)

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dynamic_config_loader-2.5.0.tar.gz (31.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dynamic_config_loader-2.5.0-py3-none-any.whl (40.8 kB view details)

Uploaded Python 3

File details

Details for the file dynamic_config_loader-2.5.0.tar.gz.

File metadata

  • Download URL: dynamic_config_loader-2.5.0.tar.gz
  • Upload date:
  • Size: 31.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for dynamic_config_loader-2.5.0.tar.gz
Algorithm Hash digest
SHA256 35d2d92181561e1a1099883cffc350f4f352b7fcfea785848503f82b3a19fd06
MD5 e69eb2dc1a5f321edebca4876afe3726
BLAKE2b-256 d68d44061a72d5eb3cce83b2072aedf018a1dbbe1ab5c46a1a87779fc5194b39

See more details on using hashes here.

File details

Details for the file dynamic_config_loader-2.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for dynamic_config_loader-2.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6e86546995697ef87b440ca160774832efb245d1a54200e3b4b721c8ca65befd
MD5 f7c7f6abf263b9e0ac5f6b8ba4539572
BLAKE2b-256 d2192cf094d539fcf1c3caaf5f98b237190b99cc296ca65351825a19769a1107

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page