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_fileloads a single explicit file and skips project auto-discovery.env_vars=Falsedisables environment variable lookup entirely.extension_schemassupports runtime-registered named sections under a configurable root.
License
See the project LICENSE file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a128f36aea6b5ce2fff8025af0e439001491b48a1ee0f98c16b3231e75620574
|
|
| MD5 |
c72ee8b2bba2609d4ae2d7ed6ca5ff48
|
|
| BLAKE2b-256 |
ec56f2eb288aa2f862974e7c6aecfe0578e46a97dd95d79d24728da0e348630a
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
044dbd2d413668cc265263991d1f9a654114ffdcab4330f1b7a1cd9548352bd7
|
|
| MD5 |
614898fa44e9f43ba3355b68e024c6f5
|
|
| BLAKE2b-256 |
c0ca85134645f593e1ad995fadc289a3835fdcc8411931cabfad533c2ab428b8
|