Metadata-Version: 2.4
Name: phylozoo
Version: 0.2.0
Summary: a package for working with phylogenetic networks and related evolutionary datatypes
Author-email: Niels Holtgrefe <n.a.l.holtgrefe@tudelft.nl>
Project-URL: Repository, https://github.com/nholtgrefe/phylozoo
Keywords: phylogenetics,phylogenetic networks,bioinformatics,evolutionary-biology,computational-biology,graphs
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
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)
[![CI](https://github.com/nholtgrefe/phylozoo/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/nholtgrefe/phylozoo/actions/workflows/ci.yml)
[![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, triplets, splits & distance matrices** — support for quartet and triplet 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.

## 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
