History#
0.4.0 (2022-09-21)#
Features and Improvements
Add helper function
set_default_for_missing_keys
, which can be used to set a default value to return when an attribute (key) is missing.
0.3.1 (2022-06-17)#
Bugfixes
Update the implementations for
DotWiz
andDotWizPlus
so that we handle an edge case where we are presented with keys names that shadow builtindict
methods, such asitems
orvalues
.
Features and Improvements
Update
DotWizPlus
to treat key names such asitems
,get
, orto_dict
as a reserved keyword for all intents and purposes, and add a trailing_
when storing the key name; this fixes attribute access (ex. likeitems_
) and also resolves IDE warnings, which correctly state for ex. that builtin methoditems
doesn’t have an attribute named x.
0.3.0 (2022-06-08)#
Breaking Changes
Update the project classifier from Production to Beta, because the API is not yet stable, and future minor releases might introduce other breaking changes.
dotwiz
has officially dropped support for Python 3.6. This is due to a number of reasons, such as 3.6 reaching EOL some months back, and also libraries such aspyheck
which only support Python 3.7+.Update the
__repr__
forDotWiz
to display a star character (✫) in place of the class name, just so it’s a little easier to read.
Features and Improvements
Add new
DotWizPlus
class and implementation, which can be useful for special-cased keys likemyTestKey
andhello, world!
. This implementation mutates such keys to valid snake case identifier names, so the above key names would becomemy_test_key
andhello_world
.Add new dependency on pyheck.
Refactor to pull out common or shared code into a
common
module.Update the docs and add a section on
DotWizPlus
.Update theme for the docs, from
alabaster
tofuro
.Update tests to maintain 100% code coverage.
0.2.0 (2022-06-05)#
Breaking Changes
Removed
DotWiz
methodsfrom_dict
andfrom_kwargs
, as these are now superseded by theDotWiz
constructor method.Update the signature of
make_dot_wiz
tomake_dot_wiz(*args, **kwargs)
Features and Improvements
It’s now easier to create a
DotWiz
object from adict
or from keyword arguments. The__init__
constructor method can now directly be used instead.Add major performance improvements, so
DotWiz
is now faster than ever.Add a
to_dict
method to enable aDotWiz
instance to be recursively converted back to adict
.Refactor code to remove unnecessary stuff.
Add GitHub badges and CI integration for codecov.
Updated docs.
0.1.0 (2022-06-03)#
First release on PyPI.