Skip to content

Releases: wryfi/cfitall

v2.0.1

02 Feb 21:36
Compare
Choose a tag to compare

v2.0.1 includes no new features. It provides compatibility with python 3.11 and 3.12.

sha-256 digests:

899491b3eca0f55d95515d6de1f640b7942ec965ca41b020396f55a8f62deffa    cfitall-2.0.1.tar.gz
3a0ce1516a7df09d54fbc1ecc66afcdf147b23145dd6233ca28f4242e87c3e8d    cfitall-2.0.1-py3-none-any.whl

Full Changelog: v2.0.0...v2.0.1

v2.0.0 - extensibility

12 Apr 02:27
f27029f
Compare
Choose a tag to compare

Extensible Configuration Providers

With the v2.0.0 release, cfitall moves to extensible configuration providers. Following a simple interface, anyone can now hook their own configuration provider into cfitall and benefit from all of its other features.

The included EnvironmentProvider and FilesystemProvider are reference implementations that replicate existing functionality from the 1.0 series. They implement ConfigProviderBase, which is the base base class to implement if you want to write a Provider.

Providers are managed by a ProviderManager, which is responsible for registering and deregistering providers, and controls the order in which provider configurations are merged.

The provider abstraction provides an important layer of extensibility for adding new configuration sources like etcd, consul, and more to cfitall in the future, even as separate packages.

Environment Variable Parsing

Environment variable parsing (now handled by the EnvironmentProvider) has changed somewhat in the v2 release:

  • Values must now be enclosed in square brackets to be interpreted as lists, e.g. export APP__THINGS="[first, second, third]" for cf.get('things') to return ['first', 'second', 'third'].
  • Nesting of commas is not directly supported. This will not work out of the box: export APP__PEOPLE="['doe, john', 'deer, jane']". However, you can experiment with the value_separator, which is treated as a regex, to potentially solve for such advanced use cases.

Documentation

The documentation from the README has been removed to the docs/ directory and supplemented considerably. These docs are now built with Sphinx and hosted on Read The Docs.

Quality & Testing

  • type hints were added throughout the source for v2
  • all mypy tests are passing
  • 53 unit tests (roughly 96% test coverage) are passing

Minimum Python Version

  • Python 3.8 is the minimum supported version for v2.

v1.0.4

16 Oct 01:46
Compare
Choose a tag to compare
update changelog

v1.0.3

16 Oct 01:44
Compare
Choose a tag to compare
allow splitting environment variable values by whitespace

v1.0.2

16 Oct 01:43
Compare
Choose a tag to compare
updated changelog

v1.0.1

12 Aug 15:04
Compare
Choose a tag to compare

Support for converting 'true' and 'false' strings in environment variables to python booleans.

v1.0.0

12 Aug 04:03
Compare
Choose a tag to compare

initial release!