Pretty Conf is a Python library created to make easy the separation of configuration and code following the recommendations of 12 Factor’s topic about configs.
It is strongly inspired in python-decouple and both provides a similar API. It is framework agnostic and works the same way under Django, Flask, FastAPI or a plain command line script.
Installation
pip install prettyconf
The AwsParameterStore loader depends on boto3. Install the optional aws feature if you need it:
pip install prettyconf[aws]
prettyconf requires Python 3.10 or newer.
Documentation
You can find prettyconf documentation at Read the Docs website.
Development
The project uses uv and a Makefile as its entry point. make setup bootstraps everything, installing uv first if it is missing:
make setup
The remaining targets are listed by make help:
make test |
run the test suite (ARGS="-k name" to filter) |
make test-all |
run the test suite on every supported python |
make coverage |
run the test suite with a coverage report |
make lint |
check the code with ruff |
make format |
reformat and auto-fix the code with ruff |
make typecheck |
check the types with ty |
make docs |
build the HTML documentation |
make build |
build the sdist and the wheel |
make update-deps |
upgrade every dependency and refresh uv.lock |
Any target accepts a PYTHON variable to run against another supported interpreter, each one in its own virtualenv:
make test PYTHON=3.10
Pull requests should keep make lint, make typecheck and make test passing, and should describe the change well enough that a reviewer does not need to open the linked issue. Releases are published to PyPI by GitHub Actions when a GitHub release is created, which is what make release does.
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 prettyconf-3.0.1.tar.gz.
File metadata
- Download URL: prettyconf-3.0.1.tar.gz
- Upload date:
- Size: 30.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0604e2046346ffa4c69fd56e428e45b980c6ad6d618540ab5dfc73dbc31b8f46
|
|
| MD5 |
6a107a4b93361d7e83d4aa0e8ec97ee3
|
|
| BLAKE2b-256 |
f27859fa76870a0ee304f696e530807a4833eaed0aa8fbca93b09c7a70efc6b0
|
Provenance
The following attestation bundles were made for prettyconf-3.0.1.tar.gz:
Publisher:
release.yml on osantana/prettyconf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
prettyconf-3.0.1.tar.gz -
Subject digest:
0604e2046346ffa4c69fd56e428e45b980c6ad6d618540ab5dfc73dbc31b8f46 - Sigstore transparency entry: 2341495287
- Sigstore integration time:
-
Permalink:
osantana/prettyconf@f3c7e07751836854c5c94b8b823db31cbf9ab37e -
Branch / Tag:
refs/tags/3.0.1 - Owner: https://github.com/osantana
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f3c7e07751836854c5c94b8b823db31cbf9ab37e -
Trigger Event:
release
-
Statement type:
File details
Details for the file prettyconf-3.0.1-py3-none-any.whl.
File metadata
- Download URL: prettyconf-3.0.1-py3-none-any.whl
- Upload date:
- Size: 11.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e7a2e0c50076c94b918749d0109b6cc51667202c0511553b628cbe4290edee8
|
|
| MD5 |
9eef2435ecfd19766af097f959fb118f
|
|
| BLAKE2b-256 |
72b25b60479a992c74db87501a1f7a9dfa4fd621415a0390b013bbd53387a451
|
Provenance
The following attestation bundles were made for prettyconf-3.0.1-py3-none-any.whl:
Publisher:
release.yml on osantana/prettyconf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
prettyconf-3.0.1-py3-none-any.whl -
Subject digest:
4e7a2e0c50076c94b918749d0109b6cc51667202c0511553b628cbe4290edee8 - Sigstore transparency entry: 2341495295
- Sigstore integration time:
-
Permalink:
osantana/prettyconf@f3c7e07751836854c5c94b8b823db31cbf9ab37e -
Branch / Tag:
refs/tags/3.0.1 - Owner: https://github.com/osantana
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f3c7e07751836854c5c94b8b823db31cbf9ab37e -
Trigger Event:
release
-
Statement type: