Package to draw tree structures (tree linux command style)
Project description
lxtree
Package to draw tree structures (tree linux command style)
Basic usage
Build the tree structure using TreeNode
s. A TreeNode
can contain other TreeNode
s
to represent the tree. When builded you car get a string representation of it,
or get string of a sub-tree using some child as root.
Code samples
from lxtree import TreeNode
# Creating root
root = TreeNode('root')
# Adding a list of nodes
root.children = [TreeNode('branch1'), TreeNode('branch3')]
# Insert node
root.insert_child(TreeNode('branch2'), 1)
# Appending to a branch 1 by index
root[0].append_child(TreeNode('branch11'))
# Using index to assign children to branch11
root[0][0] = [TreeNode('leaf111'), TreeNode('leaf112')]
# Use `set_children` to add nodes as argv
root[1].set_children(TreeNode('leaf21'), TreeNode('leaf22'), TreeNode('leaf23'))
# Print tree
print(root)
Creating all structure at once
root = TreeNode('root').set_children(
TreeNode('branch1').append_child(
TreeNode('branch11').set_children(
TreeNode('leaf111'),
TreeNode('leaf112')
)
),
TreeNode('branch2').set_children(
TreeNode('leaf21'),
TreeNode('leaf22'),
TreeNode('leaf23')
),
TreeNode('branch3')
)
print(root)
Creating the tree from a dict
tree_data = {
'root': {
'branch1': {
'branch11': {
'leaf111': None,
'leaf112': None
}
},
'branch2': {
'leaf21': None,
'leaf22': None,
'leaf23': None
},
'branch3': None
}
}
print(TreeNode.tree_from_dict(tree_data))
Output
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
lxtree-1.0.0.tar.gz
(4.8 kB
view hashes)
Built Distribution
lxtree-1.0.0-py3-none-any.whl
(4.6 kB
view hashes)