All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Improves the library to deep-merge dictionaries of values instead of replacing objects entirely (fix #10), by @StummeJ.
- Adds Python 3.12 to the build matrix, upgrades dev dependencies and fix tests to support Python 3.12.
- Adopts
Rich
, throughrich-click
for the project CLI. - Renames the recently added
secrets
feature tosettings
. - Adds support for configuring nested objects using "." separator.
- Fixes missing
py.typed
files in the distribution package.
- Renames the main namespace to
config
. - Adds a method to obtain type checked configuration items (e.g. with
pydantic
or custom classes). - Adds support to read secrets stored in the user folder, for development purpose.
- Adds a CLI to administer local secrets stored in the user folder.
- Adds a
FileConfigurationSource
base class. - Migrates to
pyproject.toml
. - Add support for
.env
files bound usingpython-dotenv
.
- Upgrades pinned dependencies for Python 3.11
- Adds the alias "EnvVars" to reduce the verbosity of the class name "EnvironmentVariables"
- Adds support for TOML sources
- Replaces relative imports with absolute imports
- Workflow maintenance
- Forks a new project from
roconfiguration, with name
essentials-configuration
- Implements a new code API that better supports extensions
- Makes
PyYAML
an optional dependency, necessary only if the user desires to use YAML files - Applies
isort
and enforcesisort
andblack
checks in CI pipeline