Changelog#

Version History#

Version 0.2.1#

Added#

Changed#

  • _check_kalmanson_conditions moved from a nested closure inside is_kalmanson() to a module-level @njit function, consistent with the other Numba helpers in the module.

Version 0.2.0#

Added#

  • New phylozoo.core.triplet module providing Triplet, TripletProfile, and TripletProfileSet for working with rooted three-taxon trees (characterised by a trivial 1|2 split a|bc or by an unresolved 3-taxon star). All three classes are re-exported from the top-level phylozoo namespace.

  • New displayed_triplets() derivation on DirectedPhyNetwork, returning a TripletProfileSet aggregated over the displayed trees.

  • Manual chapter Triplets (overview + per-class pages) and an api/core/triplets API page.

  • Manual page Parallel Execution and api/utils/parallel API page documenting phylozoo.utils.parallel as the standard interface for parallel execution in PhyloZoo. No functions currently expose a parallel parameter; the module is the intended way to introduce parallelization in future implementations.

  • New CI GitHub Actions workflow (.github/workflows/ci.yml) running pytest (Python 3.10 and 3.11), ruff, black --check, and mypy on every push to master and every pull request. See the Testing Guide for details. A CI badge has been added to the project README.

Changed#

  • ParallelBackend class docstring restructured to plain prose (the enum members are now described inline rather than in a NumPy-style Attributes section) to avoid duplicate Sphinx object descriptions.

  • Black, Ruff, and Mypy fixes have been made thoughout the codebase.

Removed#

  • phylozoo.core.distance.operations (and the entire operations.py file). The Traveling Salesman Problem solvers (optimal_tsp_tour, approximate_tsp_tour) have been removed, together with the corresponding manual section and API entry. Their implementation is now part of the dependent package physquirrel.

  • phylozoo.core.quartet.qdistance.quartet_distance_with_partition and its documentation in the Quartet Profile Sets manual page.

Version 0.1.2#

  • Fixed newick parsing branch length order: it must be after the hybrid marker, not before.

Version 0.1.1#

  • Fixed docs build: added matplotlib to docs dependencies

Version 0.1.0#

  • Initial public release