Pydantic-powered config management
Project description
Pattern Agentic Settings
A settings class based on pydantic-settings that facilitates:
- printing all settings on startup (redacts senstive attrs)
- easy loading of .env files via an env variable
- optionally load app version from importlib (sourced from pyproject.toml)
- optional hot reload using watchfiles
Example
class Settings(PABaseSettings):
model_config = SettingsConfigDict(
env_prefix="MYAPP_"
)
worker_count: int
# expects MYAPP_WORKER_COUNT
# if MYAPP_DOT_ENV points to a file, will try to load vars from it
# throws an error if not defined
settings = Settings.load('my_app')
Exepcted output:
My App v1.0.0
Configuration:
WORKER_COUNT: 3
And on failure:
RuntimeError: Configuration validation failed:
Missing required configuration fields:
- worker_count
Tests
To run the tests the package must be installed in edit mode:
uv pip install -e .
# or to test hotreload
uv pip install -e .[hotreload]
After that:
# Base test
uv run pytest tests/test_base.py
# All tests
uv run pytest
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
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 pattern_agentic_settings-1.1.0.tar.gz.
File metadata
- Download URL: pattern_agentic_settings-1.1.0.tar.gz
- Upload date:
- Size: 26.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc5aa995a5efd6c6447eb40f480cd95f12602822f5b50867630bed396c0f1732
|
|
| MD5 |
e008b6b8ed65bd2b5c1888e2a15df854
|
|
| BLAKE2b-256 |
b82e2c093e546a4585cade76b3a2c02633b62d412be39f1dae5a0c0003b95909
|
File details
Details for the file pattern_agentic_settings-1.1.0-py3-none-any.whl.
File metadata
- Download URL: pattern_agentic_settings-1.1.0-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
084ecd0badd4891e3e3c108751f47d5896ed5026573c67b330a2689bba24e555
|
|
| MD5 |
492a3a506d25f1534f2f478ea357074b
|
|
| BLAKE2b-256 |
28095e9b084bb4906759b46df0df0da38cbc4cdb39bac2fbeb86b9e210d8e1c5
|