Metadata-Version: 2.4
Name: phylozoo
Version: 0.1.1
Summary: A phylogenetic networks analysis package
Author-email: Niels Holtgrefe <n.a.l.holtgrefe@tudelft.nl>
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: numpy>=1.20.0
Requires-Dist: numba>=0.56.0
Requires-Dist: networkx>=3.0.0
Provides-Extra: viz
Requires-Dist: matplotlib>=3.5.0; extra == "viz"
Provides-Extra: graphviz
Requires-Dist: matplotlib>=3.5.0; extra == "graphviz"
Requires-Dist: pygraphviz; extra == "graphviz"
Provides-Extra: test
Requires-Dist: pytest>=7.0.0; extra == "test"
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
Requires-Dist: matplotlib>=3.5.0; extra == "test"
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: matplotlib>=3.5.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=7.0.0; extra == "docs"
Requires-Dist: sphinx-autobuild>=2023.0.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=2.0.0; extra == "docs"
Requires-Dist: pydata-sphinx-theme>=0.15.0; extra == "docs"
Requires-Dist: sphinxcontrib-napoleon>=0.7; extra == "docs"
Requires-Dist: sphinx-copybutton>=0.5.0; extra == "docs"
Requires-Dist: sphinxcontrib-bibtex>=2.6.0; extra == "docs"
Requires-Dist: pybtex>=0.24.0; extra == "docs"
Requires-Dist: matplotlib>=3.5.0; extra == "docs"
Dynamic: license-file


[![PyPI](https://img.shields.io/pypi/v/phylozoo)](https://pypi.org/project/phylozoo/)
[![License](https://img.shields.io/github/license/nholtgrefe/phylozoo)](https://github.com/nholtgrefe/phylozoo/blob/master/LICENSE.md)
[![Docs](https://img.shields.io/badge/docs-stable-blue)](https://nholtgrefe.github.io/phylozoo/)

<img src="https://github.com/nholtgrefe/phylozoo/blob/master/docs/source/_static/phylozoo_compact.svg" alt="PhyloZoo logo" width="375" align="left">

PhyloZoo is a Python package for working with phylogenetic networks and related evolutionary
data types. PhyloZoo aims to provide the foundational infrastructure for
phylogenetic network analysis in Python — a common framework that other packages can build on.

<br>

## Key Features

- **Directed & semi-directed networks** — represent phylogenetic networks as fully directed rooted DAGs or as semi-directed/mixed graphs that allow root uncertainty. Both representations are validated on construction to guarantee well-formed phylogenetic objects. Includes a rich library of operations: network classifications, generators, conversions between representations, and much more.
- **Quartets, splits & distance matrices** — support for quartet systems, split systems, and pairwise distance matrices: the core building blocks for phylogenetic inference and comparison.
- **Multiple sequence alignments** — store and manipulate sequence data with efficient NumPy-backed arrays, including bootstrapping and site-pattern extraction.
- **Flexible visualization** — plot networks with different layouts and fine-grained control over styling, labels, and coloring via Matplotlib.
- **Standard file formats** — read and write common phylogenetic formats including eNewick, DOT, FASTA, and NEXUS, making it easy to integrate with existing workflows.
- **Performance** — leverages NumPy and optional Numba JIT compilation for computationally intensive algorithms.


## Installation

To install the recommended version that includes vizualization, do:

```bash
pip install phylozoo[viz]
```

## Documentation

For detailed documentation, installation instructions, tutorials, and API reference, visit the **[PhyloZoo docs](https://nholtgrefe.github.io/phylozoo/)**.

## Citation

If you use PhyloZoo in your research, please cite:

> Niels Holtgrefe (2026). *PhyloZoo*. Available at: https://github.com/nholtgrefe/phylozoo
