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. Works on trees that are 10 000 layers deep.
- Extensible. Subclass from
BaseNode
if you need more freedom. - 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!)
- Nodes cannot be their own ancestor.
- 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_image().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.