Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.8.0] - 2022-06-28

Added

  • New tools.py module, with allclose and diff methods

[0.7.0] - 2022-03-09

Added

  • Path objects now hashable (enables e.g. to use set() on nob.paths)

  • .leaves method: similar to .paths but just “leaves” (non dict/list paths)

[0.6.1] - 2021-09-23

Added

  • new noxfile

Fixed

  • API autogenerated in docs

Changed

  • Clean, homogeneous parent and set methods

  • More robust Path instantiation

  • Docs “philosophy” more refined

  • More basic README, with link to docs

  • More explicit exceptions for bad nob access

Deleted

  • Removed _find_all

[0.6.0] - 2021-09-10

Added

  • Sphinx documentation added, now hosted on Readthedocs

Fixed

  • Behavior of iterating over a tree was inconsistent with docs

[0.5.6] - 2021-09-10

Fixed

  • Solve bugs with del on list item(s) (Issue #5)

[0.5.5] - 2020-12-10

Fixed

  • KeyError print bug: didn’t format path

[0.5.4] - 2020-08-31

Added

  • .reserved method gives all reserved keywords

  • More information on keyword access in README

Fixed

  • Forgotten print statement

  • Serialization now works for scalars too

  • Serialize / deserialize returns self

[0.5.0] - 2020-08-31

Added

  • Add np_serialize and np_deserialize to efficiently store large numpy arrays

  • Offer the possibility to compress when np_serializing

[0.4.1] - 2020-02-13

Fixed

  • .get now consistent: nevers returns NobView object

[0.4.0] - 2020-02-05

Added

  • Add .get method to imitate dicts for Nob

Changed

  • Integer and slice access on lists now returns NobView object(s)

[0.3.2] - 2020-02-05

Changed

  • Nob replaces Tree, now deprecated

Deleted

  • Remove core/ folder. Everything now flat in single nob/ folder.

[0.3.1] - 2020-01-31

Changed

  • Store version number only once, in __init__.py file

[0.3.0] - 2020-01-31

Changed

  • [:] access instead of .val (now deprecated)

[0.2.1] - 2019-08-26

Added

  • More explicit exceptions for invalid attribute/item access

  • MIT License

Changed

  • __str__, __repr__ strategy changed for readability

Fixed

  • del now works properly for TreeView objects

  • Fixed a bug that made Path() / Path() invalid

[0.2.0] - 2019-08-23

Added

  • Creating new keys is now supported (with tests)

  • Deleting keys also supported

  • len can be called on all trees

  • Path.split() method similar to os.path.split added

  • .keys() method for trees

Changed

  • _TreeUtils._access became _TreeUtils._find_all. Same functionnality, slightly simplified

  • _raw_data moved to Tree. TreeView shouldn’t access data directly.