Skip to content
This repository was archived by the owner on Jul 19, 2026. It is now read-only.

Release First version

Latest

Choose a tag to compare

@CubeVic CubeVic released this 07 Jun 14:16
· 2 commits to main since this release
7ac801c

ConfigLoader v0.1.0

Overview

ConfigLoader is a flexible and extensible configuration loader for Python applications that supports multiple formats and sources. This initial release provides a robust foundation for managing application configurations with a clean, type-safe API.

Features

  • Multiple Format Support

    • TOML configuration files
    • YAML configuration files
    • JSON configuration files
  • Flexible Configuration Sources

    • File-based configuration
    • Environment variables
    • Command-line arguments
    • Custom configuration sources
  • Type Safety & Validation

    • Pydantic model integration
    • Automatic configuration validation
    • Type hints throughout the codebase
  • Developer Experience

    • Comprehensive error handling
    • Detailed logging
    • Clear exception hierarchy
    • Extensive test coverage

Core Components

  • ConfigLoader: Main class for loading and managing configurations
  • ConfigSource: Abstract base class for custom configuration sources
  • Built-in sources:
    • FileConfigSource: Load configurations from files
    • EnvConfigSource: Load from environment variables
    • CLIConfigSource: Load from command-line arguments

Installation

pip install --index-url https://pypi.org/simple/ configloader

Quick Start

from configloader import ConfigLoader

# Basic usage
config_loader = ConfigLoader(
    config_file_name="config.yaml",
    env_prefix="APP_"
)
config = config_loader.load_config()

Documentation

Requirements

  • Python 3.11+
  • Dependencies:
    • pydantic >= 2.11.4
    • toml >= 0.10.2
    • pyyaml >= 6.0.2

Breaking Changes

None - This is the initial release.

Known Issues

  • None reported

Future Plans

  • Support for additional configuration formats
  • Enhanced caching mechanisms
  • More built-in configuration sources
  • Additional validation features

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.