LittleTree is a library that provides a tree data structure to python, which is both fast and flexible. It can be used to represent file systems, taxonomies and much more.
- Intuitive basic creation and modification of trees.
- Efficient implementation of common tree operations and traversals that still work on trees that are more than 10,000 layers deep.
- Extensible: either subclass from
Node
orBaseNode
. - Can be imported / exported to many different formats (nested dict, rows, relations, graphviz, mermaid, newick, networkx).
- Purely written in Python.
- Each node has at most one parent. (It's a tree not a graph!)
- Use pip to install littletree:
$ pip install --upgrade littletree
A tree can be used in a similar way as a dict
:
from littletree import Node
tree = Node(identifier="World")
tree["Asia"] = Node()
tree["Africa"] = Node()
tree["America"] = Node()
tree["Europe"] = Node()
# Print tree to console
tree.show()
# Show tree as an image
tree.to_pillow().show()
The resulting tree is printed like this:
World
├─ Asia
├─ Africa
├─ America
└─ Europe
If Pillow and graphviz are installed, it will also display the following image:
See tutorial for more information.