{"library":"pyconfigurator","title":"pyconfigurator: Easy Configuration Management","description":"pyconfigurator is a Python library designed for easy and flexible configuration management, supporting INI files, environment variables, command-line arguments, and directories. It provides a simple attribute-based access API to configuration values. The current version is 0.4.19, with a release cadence that is infrequent, focusing on compatibility and minor fixes.","language":"python","status":"active","last_verified":"Fri Apr 17","install":{"commands":["pip install pyconfigurator"],"cli":{"name":"pyconfigurator","version":"sh: 1: pyconfigurator: not found"}},"imports":["from configurator import Configurator"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom configurator import Configurator\n\n# 1. Create a dummy configuration file\nconfig_file_path = 'my_app_config.ini'\nwith open(config_file_path, 'w') as f:\n    f.write('[default]\napp_name=MyApplication\ndata_path=/var/data\nlog_level=${LOG_LEVEL_ENV:INFO}\n\n[database]\nhost=localhost\nport=5432\nuser=admin\npassword=${DB_PASSWORD_ENV:secret}')\n\n# 2. Set environment variables (optional, for demonstration)\nos.environ['LOG_LEVEL_ENV'] = 'DEBUG'\n# os.environ['DB_PASSWORD_ENV'] = 'super_secret'\n\n# 3. Initialize the Configurator\n# It loads files, then environment variables, then CLI args (if any)\nconfig = Configurator(\n    files=[config_file_path],\n    environ=os.environ, # Pass os.environ to enable env var substitution\n    # cli_args=['--database-user', 'cli_user'] # Example for CLI overrides\n)\n\n# 4. Access configuration values\nprint(f\"Application Name: {config.default.app_name}\")\nprint(f\"Data Path: {config.default.data_path}\")\nprint(f\"Log Level: {config.default.log_level}\")\nprint(f\"Database Host: {config.database.host}\")\nprint(f\"Database User: {config.database.user}\")\nprint(f\"Database Password: {config.database.password}\")\n\n# Clean up the dummy file\nos.remove(config_file_path)","lang":"python","description":"This quickstart demonstrates how to initialize `Configurator` with an INI file and environment variables, then access configuration settings using attribute-style access. It highlights environment variable substitution and default values.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}