Skip to content

semohr/eyconf

Repository files navigation

EYConf

Easy Yaml based Configuration for Python

PyPI - Version build status docs License: GPL v3

Why EYConf?

  • Schema-First Configuration: Define your config structure with Python dataclasses, get automatic YAML generation with comments
  • Type-Safe Access: Access nested configuration values with full IDE support and runtime type checking
  • Validation First: Catch configuration errors early with detailed, human-readable validation messages
  • Zero Boilerplate: No manual YAML parsing, no dictionary access - just clean attribute access to your configuration

Installation

You can install EYConf from PyPI using pip.

pip install eyconf

Example Usage

from dataclasses import dataclass
from eyconf import EYConf

@dataclass
class AppConfig:
    """Application configuration"""
    database_url: str = "sqlite:///app.db"
    debug: bool = False

# Creates/loads config.yaml automatically
config = EYConf(AppConfig)

# Use your config
print(config.data.debug)  # False

This will create a config.yaml file in your current working directory with the following content:

# Application configuration

database_url: sqlite:///app.db
debug: false

Please refer to the documentation for more examples and detailed usage instructions.

About

Easy Configuration with yaml and dataclasses

Topics

Resources

License

Stars

Watchers

Forks

Contributors