Skip to content

Releases: kayjan/bigtree

v0.18.3

04 Jun 16:18
0423b29
Compare
Choose a tag to compare

2024-06-05

Changed:

  • Binary Tree Constructor: Type hints to return more generic TypeVar for use with subclasses.
  • DAG Constructor: Type hints to return more generic TypeVar for use with subclasses.
  • [#247] Tree Construct: Type hints to return more generic TypeVar for use with subclasses.
  • Tree Modifier: Type hints to return more generic TypeVar for use with subclasses.
  • Misc: Documentation to include more contribution information and guidelines.

What's Changed

Full Changelog: 0.18.2...0.18.3

v0.18.2

01 Jun 04:20
2e7bd4e
Compare
Choose a tag to compare

2024-06-01

Changed:

  • Tree Search: Standardize handling of singular and plural search.
  • Tree Search: Added find_relative_path that return a single node from search and rename existing find_relative_path to find_relative_paths. This might not be backwards-compatible!

What's Changed

Full Changelog: 0.18.1...0.18.2

v0.18.1

30 May 11:09
4072d96
Compare
Choose a tag to compare

2024-05-30

Changed:

  • Misc: Remove support of Python 3.7 due to incompatibility with polars.

Fixed:

  • Tree Constructor and Exporter: Error handling when user only partially download optional dependencies of pandas/polars.

What's Changed

Full Changelog: 0.18.0...0.18.1

v0.18.0

28 May 01:12
d2dc2fd
Compare
Choose a tag to compare

2024-05-28

Added:

  • Tree Constructor: Polars method polars_to_tree, polars_to_tree_by_relation, add_polars_to_tree_by_path, and add_polars_to_tree_by_name.
  • Tree Exporter: Polars method tree_to_polars.

Fixed:

  • Misc: Documentation to update mkdocs-material version for social plugin.
  • Misc: Update links in README.
  • Misc: Fix mypy typing.

What's Changed

Full Changelog: 0.17.2...0.18.0

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