treeviz
Visualize tree structure in bash manner using python
install
pip install treeviz
Structure
.
├── MANIFEST
├── MANIFEST.in
├── README.md
├── setup.py
├── test.py
└── treeviz
├── __init__.py
└── treeviz.py
# showcases of usage
python test.py
Usage
Create Your tree structure
from treeviz.treeviz import Node
root = Node("Jason")
child1 = Node("Mary")
child2 = Node("John")
grandson1 = Node("Kevin")
grandson2 = Node("Doris")
grandson3 = Node("James")
grandson4 = Node("Momo")
grandgrandson1 = Node("Baby")
root.add_child(child1)
root.add_child(child2)
child1.add_child(grandson1)
child1.add_child(grandson2)
child2.add_child(grandson3)
child2.add_child(grandson4)
grandson1.add_child(grandgrandson1)
root.visualize()
Jason
├── Mary
│ ├── Kevin
│ │ └── Baby
│ └── Doris
└── John
├── James
└── Momo
You can also print the sub-tree structure
child1.visualize()
Mary
├── Kevin
│ └── Baby
└── Doris
Two options are provided, to print in terminal or print to file
# print to file
# Giving path as the first parameter
root.visualize(".")
# If path is empty, then print to terminal
root.visualize()
# Default name is treeviz.txt, if the filename already exists, a number will be appended to it.
New Features
(2019.11.1) Adding max_len parameter to visualize(), which splits the message into multiple lines.
from treeviz.treeviz import Node
root = Node("Jason is our grandfather")
child1 = Node("Mary is Kevin's mother")
child2 = Node("John is James and Momo's father")
grandson1 = Node("Kevin")
grandson2 = Node("Doris")
grandson3 = Node("James")
grandson4 = Node("Momo")
grandgrandson1 = Node("Baby")
root.add_child(child1)
root.add_child(child2)
child1.add_child(grandson1)
child1.add_child(grandson2)
child2.add_child(grandson3)
child2.add_child(grandson4)
grandson1.add_child(grandgrandson1)
root.visualize(max_len=10)
Jason is our grandfather
├── Mary is Ke
│ vin's moth
│ er
│ ├── Kevin
│ │ └── Baby
│ └── Doris
└── John is Ja
mes and Mo
mo's fathe
r
├── James
└── Momo
(2019.11.2) Adding line_space parameter to visualize(), which enables to set space between each branch
root.visualize(line_space=2)
Jason is our grandfather
├── Mary is Kevin's mother
│ │
│ │
│ ├── Kevin
│ │ │
│ │ │
│ │ └── Baby
│ │
│ │
│ └── Doris
│
│
└── John is James and Momo's father
│
│
├── James
│
│
└── Momo
(2019.11.4) Adding 'filename' parameter to visualize, which enables users to defince own filename
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
treeviz-1.1.tar.gz
(3.3 kB
view details)
File details
Details for the file treeviz-1.1.tar.gz.
File metadata
- Download URL: treeviz-1.1.tar.gz
- Upload date:
- Size: 3.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.6.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34616c9f1b5b811bebbd33af2239de1fc044da26c913f0faf53ff9e6a2d5fe83
|
|
| MD5 |
82879798ff1836dee9e09be2c0794cdc
|
|
| BLAKE2b-256 |
765f8f4373d3d5a312f28735d08c2ebbfc30631f077f6c1bbd4c7dbeeaa42902
|