The toytree ethos

Welcome to toytree, a minimalist tree manipulation and plotting library. Toytree combines a popular Tree data structure based on the ete3 library with modern plotting tools based on the toyplot plotting library. The goal of toytree is to provide a light-weight Python equivalent to commonly used tree manipulation and plotting libraries in R, and in doing so, to promote further development of phylogenetic and other tree-based methods in Python.

  • Questions? Join the conversation on gitter.
  • Have a feature request? Raise a ticket on github.

Toytree Goals:

  • style: beautiful “out-of-the-box” figures that require minimal styling.
  • customization: extensive style options using CSS semantics.
  • simplicity: several pre-defined plotting styles (e.g., coalescent, dark-mode).
  • tree manipulation: easily traversable class object. Rooting, ordering, etc.
  • tree statistics: edge lengths, node heights.
  • tree comparisons: cloud tree plotting, Robinson-Fould’s calculations.
  • transparency: interactive plots make raw data available as pop-ups.
  • reproducibility: code and plots in jupyter notebooks.
  • extendability: combine with toyplot scatterplots, barplots, colormapping, etc.
  • minimalism: lightweight, easy installation.