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.
- Upgrade Python versions in workflow.
- Remove support for Python <= 3.10.
- Remove Codecov from README and workflow.
- Upgrade type annotations.
- 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-clickfor the project CLI. - Renames the recently added
secretsfeature tosettings. - Adds support for configuring nested objects using "." separator.
- Fixes missing
py.typedfiles in the distribution package.
- Renames the main namespace to
config. - Adds a method to obtain type checked configuration items (e.g. with
pydanticor 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
FileConfigurationSourcebase class. - Migrates to
pyproject.toml. - Add support for
.envfiles 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
PyYAMLan optional dependency, necessary only if the user desires to use YAML files - Applies
isortand enforcesisortandblackchecks in CI pipeline