Changelog ===================================== The source code is hosted and maintained on `github `_. Version 1.0.1 (2026-02-07) -------------------------- - fixed a bug where :code:`dict.pop` would not work on undefined nodes Version 1.0.0 (2024-11-12) -------------------------- - removed deprecated :code:`easytree.Tree` class - removed deprecated :code:`easytree.Node` class alias - removed deprecated :code:`easytree.new` function - removed deprecated :code:`easytree.load` function - removed deprecated :code:`easytree.loads` function - removed deprecated :code:`easytree.dump` function - removed deprecated :code:`easytree.dumps` function - removed deprecated :code:`easytree.serialize` function - fixed bug on :code:`easytree.undefined.get` Version 0.2.4 (2023-11-25) -------------------------- - fixed a bug where :code:`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 :code:`undefined` class - correct `bug #7 `_ Version 0.2.1 (2023-09-09) -------------------------- - optimize recursive casting - allow for subclassing of :code:`easytree.dict` and :code:`easytree.list` Version 0.2.0 (2023-06-14) -------------------------- - refactored library to create :code:`dict` and :code:`list` objects Version 0.1.13 (2023-04-25) ------------------------------------- - added :code:`type` function to help distinguish between node types (in lieu of :code:`isinstance`) Version 0.1.12 (2022-02-14) ------------------------------------- - added missing methods to perfectly ducktype dict (:code:`items`, :code:`keys`, :code:`values`, :code:`pop` and :code:`update`) - added :code:`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. :code:`load` and :code:`dump`) - added support for :code:`abc.KeysView` and :code:`abc.ValuesView` values - merged root and node classes - refactored :code:`__value__` attribute to :code:`_value` - added support for freezing and sealing trees Version 0.1.7 (2021-05-01) ------------------------------------- - passing an :code:`easytree.Tree` object as an instanciation argument will copy the tree - added support for list slicing in list nodes - improved error messages - removed unncessary code in append method - factored out constants - :code:`repr` now delegates to underlying value - addressed ipython canary - added :code:`get` method for dict nodes - implemented :code:`__delitem__`, :code:`__delattr__` and :code:`__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 :code:`Tree` object into a :code:`Tree` and :code:`Node` object - removed the :code:`__new__` from the :code:`Tree` 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 :code:`__getattr__` - :code:`append` now returns a reference to last added node, if it is a node Version 0.1.3 (2020-08-04) ------------------------------------- - added the :code:`serialize` method to the tree Version 0.1.2 (2020-08-03) ------------------------------------- - overrode the :code:`__new__` method to filter out primitive and object types - added ability to check for contains Version 0.1.1 (2020-08-02) ------------------------------------- - added ability to :code:`append` dictionary using keyword arguments - added ability to iterate over a tree - added ability to compute the length of a tree (for list nodes and dict nodes)