Skip to main content

A deterministic, typed configuration engine for serious automation systems

Project description

utilityhub_config

utilityhub_config is a lightweight, deterministic configuration loader for Python applications. It resolves values from defaults, configuration files, dotenv, environment variables, and runtime overrides with explicit precedence and metadata.

Why use this package?

  • Pydantic validation for configuration values
  • Explicit precedence order across multiple sources
  • Metadata tracking of where each field came from
  • TOML, YAML, .env, and environment variable support
  • Optional env var loading via env_vars=False
  • Explicit config file support with config_file
  • Runtime schema validation for dynamic sections using extension_schemas

Install

pip install utilityhub_config

Basic usage

from pydantic import BaseModel
from utilityhub_config import load_settings

class Config(BaseModel):
    database_url: str = "sqlite:///default.db"
    debug: bool = False

settings, metadata = load_settings(Config)

Documentation

This package is documented on the website. For complete usage and examples, see utilityhub_config.

Notes

  • config_file loads a single explicit file and skips project auto-discovery.
  • env_vars=False disables environment variable lookup entirely.
  • extension_schemas supports runtime-registered named sections under a configurable root.

License

See the project LICENSE file.

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

utilityhub_config-0.2.7.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

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

utilityhub_config-0.2.7-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file utilityhub_config-0.2.7.tar.gz.

File metadata

  • Download URL: utilityhub_config-0.2.7.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for utilityhub_config-0.2.7.tar.gz
Algorithm Hash digest
SHA256 a128f36aea6b5ce2fff8025af0e439001491b48a1ee0f98c16b3231e75620574
MD5 c72ee8b2bba2609d4ae2d7ed6ca5ff48
BLAKE2b-256 ec56f2eb288aa2f862974e7c6aecfe0578e46a97dd95d79d24728da0e348630a

See more details on using hashes here.

File details

Details for the file utilityhub_config-0.2.7-py3-none-any.whl.

File metadata

  • Download URL: utilityhub_config-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for utilityhub_config-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 044dbd2d413668cc265263991d1f9a654114ffdcab4330f1b7a1cd9548352bd7
MD5 614898fa44e9f43ba3355b68e024c6f5
BLAKE2b-256 c0ca85134645f593e1ad995fadc289a3835fdcc8411931cabfad533c2ab428b8

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