Skip to content

Releases: kayjan/bigtree

v0.17.2

23 Apr 19:17
f012007
Compare
Choose a tag to compare

2024-04-24

Changed:

  • DAG Constructor: list_to_dag and dict_to_dag does not rely on dataframe_to_dag as pandas dataframe operation is phased out.

Fixed:

  • DAG Constructor: Handle cases where reserved keywords are part of attribute upon creation and throw error accordingly.
  • [#224] Tree/DAG Constructor: Null checks to not interpret 0 as null, this affects dataframe_to_tree_by_relation, add_dataframe_to_tree_by_path, add_dataframe_to_tree_by_name, dataframe_to_tree, and dataframe_to_dag. This will also affect showing/printing of trees when attr_omit_null is set to True.

What's Changed

Full Changelog: 0.17.1...0.17.2

v0.17.1

22 Apr 17:03
33bb781
Compare
Choose a tag to compare

2024-04-23

Fixed

  • [#222] Tree Constructor: dataframe_to_tree_by_relation duplicate root node name error message to handle
    different data types.

What's Changed

  • Docs: Fix Broken Read the Docs Links by @wlkr in #221
  • fix: dataframe_to_tree_by_relation error message to handle different … by @kayjan in #223

New Contributors

  • @wlkr made their first contribution in #221

Full Changelog: 0.17.0...0.17.1

v0.17.0

04 Apr 06:31
e86c71d
Compare
Choose a tag to compare

2024-04-04

Added

  • Misc: Group tests for benchmark timings to compare the timings by multiplier more effectively.

Changed

  • Tree Constructor: add_dict_to_tree_by_name and add_dataframe_to_tree_by_name modifies tree in-place instead of returning new tree, and does not accept join_type as argument as pandas dataframe operation is phased out. If there are clashing attributes, only those that have values will be replaced. This might not be backwards-compatible!
  • Tree Constructor: dataframe_to_tree no longer relies on add_dataframe_to_tree_by_path as it performs assertion checks twice. This leads to 5% improvement in timings for a tree with 10000 nodes, averaged across 10 runs.
  • Misc: Abstract out assertion checks for empty dataframe and duplicate attribute.
  • Misc: Abstract out logic for checking null and filtering attributes.
  • Misc: Optimization in dictionary and dataframe operations.

Fixed

  • Tree Constructor: dict_to_tree no longer uses dataframe operations, leading to 33% improvement in timings for a tree with 10000 nodes, averaged across 10 runs. The resulting data type of node follows the dictionary exactly, compared to the previous dataframe operations that may change the dtypes for certain columns. This might not be backwards-compatible!
  • Tree Constructor: dataframe_to_tree_by_relation fix root node detection logic, ignore existing name column, ignore non-attribute columns, ignore null attribute columns.
  • Tree Constructor: add_dataframe_to_tree_by_path ignore existing name column, ignore non-attribute columns, ignore null attribute columns.
  • Tree Constructor: add_dataframe_to_tree_by_name ignore existing name column, ignore non-attribute columns, ignore null attribute columns.
  • Tree Constructor: dataframe_to_tree ignore existing name column, ignore non-attribute columns, ignore null attribute columns.
  • DAG Constructor: dataframe_to_dag ignore existing name column, ignore non-attribute columns, ignore null attribute columns.

What's Changed

Full Changelog: 0.16.4...0.17.0

v0.16.4

14 Mar 03:00
5da91ca
Compare
Choose a tag to compare

2024-03-14

Fixed

  • [#216] Tree Exporter: Fix nan checker when printing trees.

What's Changed

Full Changelog: 0.16.3...0.16.4

v0.16.3

13 Mar 17:30
1269263
Compare
Choose a tag to compare

2024-03-14

Added

  • BaseNode: Add diameter property.
  • Misc: Testing to include benchmark timings for tree creation, compare benchmark tests across commits, reject pull request if benchmark tests fails.
  • Misc: Documentation to include benchmark results.

Changed

  • Misc: Documentation to enable zooming in of images, add navigation section headers, remove some meta tags.
  • Misc: Split up testing into multiple conftest files.

Fixed

  • Tree Constructor: Tree creation from dictionary adds None for empty attributes instead of np.nan.
  • [#216] Tree Exporter: attr_omit_null to handle nan/null values in addition to checking for None.

What's Changed

Full Changelog: 0.16.2...0.16.3

v0.16.2

06 Feb 06:58
07ad11a
Compare
Choose a tag to compare

2024-02-06

Added

  • Misc: Documentation plugin Termynal for code animation.
  • Misc: Usage of docstr-coverage.
  • Misc: Docstrings for nested functions to pass docstr-coverage.

Changed

  • [#185] BaseNode: Make assertion checks optional.
  • Misc: Documentation CSS for h1 display for windows compatibility, modify the related links on main page.

What's Changed

Full Changelog: 0.16.1...0.16.2

v0.16.1

28 Jan 16:13
7e4951d
Compare
Choose a tag to compare

2024-01-29

Fixed

  • Misc: Compatibility of mkdocs with readthedocs.

What's Changed

Full Changelog: 0.16.0...0.16.1

v0.16.0

28 Jan 15:58
803a195
Compare
Choose a tag to compare

2024-01-28

Added

  • Misc: Documentation using mkdocs.

Changed

  • Misc: Markdown edit for README, CHANGELOG.
  • Misc: Docstring to indicate Examples, to indicate exceptions for BaseNode and DAGNode, simplify code for tree modification.

Fixed

  • Misc: Docstring bullet point alignment, images compatibility with markdown.

What's Changed

Full Changelog: 0.15.7...0.16.0

v0.15.7

26 Jan 15:34
c12585a
Compare
Choose a tag to compare

2024-01-26

Added

  • Misc: Sphinx documentation to support mermaid markdown images, reflect CHANGELOG section, add more emojis.

Changed

  • Misc: Update SEO image.
  • Misc: Fix Sphinx documentation font size difference between web and mobile, include last updated date.
  • Misc: Upgrade package versions in pre-commit hook.

Fixed

  • Tree Exporter: hprint_tree and hyield_tree to be compatible with BinaryNode where child nodes can be None type.

What's Changed

Full Changelog: 0.15.6...0.15.7

v0.15.6

20 Jan 03:31
ae7d48f
Compare
Choose a tag to compare

2024-01-20

Added

  • DAGNode: Able to access and delete node children via name with square bracket accessor with __getitem__ and __delitem__ magic methods.
  • DAGNode: Able to delete all children for a node.
  • DAGNode: Able to check if node contains child node with __contains__ magic method.
  • DAGNode: Able to iterate the node to access children with __iter__ magic method.

Changed

  • Tree Search: Modify type hints to include DAGNode for find_children, find_child, and find_child_by_name.
  • Misc: Neater handling of strings for tests.
  • Misc: Documentation enhancement to split README into multiple files.
  • Misc: New Sphinx documentation theme.

What's Changed

Full Changelog: 0.15.5...0.15.6