v1.3.1 Official Release
Release Summary
CleverTools 1.3.1 extends the library’s file and configuration capabilities with native YAML support and a more powerful configuration loading workflow.
This release introduces dedicated YAML read and write helpers and expands load_config() so it can combine multiple configuration files across TOML, JSON, YAML, and YML into one merged configuration object. Nested mappings are merged recursively, later files override earlier values when keys overlap, and the final configuration can be accessed conveniently through attributes, dictionary-style access, or dot-path lookups.
Alongside these functional changes, the release also updates the public API surface, improves dependency handling for TOML writing through lazy imports, adds focused documentation for the new workflows, and broadens automated test coverage around YAML handling and multi-source configuration loading.
Highlights
- Added
read_yaml()andwrite_yaml()as first-class YAML file helpers - Extended
load_config()to support.toml,.json,.yaml, and.yml - Enabled recursive merging of configuration data across mixed file formats
- Added top-level exports for the new YAML and configuration helpers
- Added dedicated documentation for YAML file handling and mixed-format config loading
- Improved TOML writing behavior by importing
tomli_wonly when needed - Expanded automated coverage for YAML parsing, writing, and config merging scenarios
Why This Release Matters
Many real-world projects do not keep configuration in a single file or even in a single format. Different parts of a system may generate or own TOML, JSON, or YAML configuration independently, which often leaves application code responsible for reading, validating, and merging those sources manually.
CleverTools 1.3.1 reduces that overhead by providing one consistent built-in workflow for loading and combining structured configuration from multiple sources. This makes it easier to support layered configuration setups, shared defaults, environment overrides, and mixed tooling ecosystems without repeating merge logic across projects.
Testing
This release adds or expands automated coverage for:
- YAML read and write roundtrips
- invalid YAML handling
- mixed-format configuration loading across TOML, JSON, and YAML
- recursive merge behavior for overlapping nested sections
- attribute-based and dot-path-based access to merged configuration values
- validation for unsupported config structures and non-mapping roots
Verification attempted:
pytest -q
Current status in this environment:
- Test collection fails because the
yamldependency is not installed locally. - Because
clevertools.__init__now exposes the YAML-backed configuration loader, this missing dependency also affects imports in other tests during collection.
Notes
pyyamlis now required for YAML support.- The package version was updated to
1.3.1. - This release does not include any UI changes.