Changelog#
The source code is hosted and maintained on github.
Version 0.2.4 (2023-11-25)#
fixed a bug where
dict.setdefault
would never set the default value
Version 0.2.3 (2023-09-14)#
maintain backward compatability with Python 3.6 and 3.7
Version 0.2.2 (2023-09-14)#
add missing methods to
undefined
classcorrect bug #7
Version 0.2.1 (2023-09-09)#
optimize recursive casting
allow for subclassing of
easytree.dict
andeasytree.list
Version 0.2.0 (2023-06-14)#
refactored library to create
dict
andlist
objects
Version 0.1.13 (2023-04-25)#
added
type
function to help distinguish between node types (in lieu ofisinstance
)
Version 0.1.12 (2022-02-14)#
added missing methods to perfectly ducktype dict (
items
,keys
,values
,pop
andupdate
)added
deepget
method to query deeply in a tree
Version 0.1.11 (2021-09-30)#
added support for pickling and unpickling
Version 0.1.10 (2021-07-03)#
removed AmbiguityError when casting undefined node to dict node with integers
Version 0.1.9 (2021-06-21)#
fixed bug in complex inheritence
Version 0.1.8 (2021-06-13)#
formatted code using Black
added convenience i/o functions (e.g.
load
anddump
)added support for
abc.KeysView
andabc.ValuesView
valuesmerged root and node classes
refactored
__value__
attribute to_value
added support for freezing and sealing trees
Version 0.1.7 (2021-05-01)#
passing an
easytree.Tree
object as an instanciation argument will copy the treeadded support for list slicing in list nodes
improved error messages
removed unncessary code in append method
factored out constants
repr
now delegates to underlying valueaddressed ipython canary
added
get
method for dict nodesimplemented
__delitem__
,__delattr__
and__bool__
Version 0.1.6 (2020-08-16)#
fixed a bug where overriding an attribute would fail if it was already in the node
Version 0.1.5 (2020-08-08)#
refactored the
Tree
object into aTree
andNode
objectremoved the
__new__
from theTree
root object to allow for inheritence
Version 0.1.4 (2020-08-05)#
added context manager to return a reference to itself
addressed infinite recursion in
__getattr__
append
now returns a reference to last added node, if it is a node
Version 0.1.3 (2020-08-04)#
added the
serialize
method to the tree
Version 0.1.2 (2020-08-03)#
overrode the
__new__
method to filter out primitive and object typesadded ability to check for contains
Version 0.1.1 (2020-08-02)#
added ability to
append
dictionary using keyword argumentsadded ability to iterate over a tree
added ability to compute the length of a tree (for list nodes and dict nodes)