Print tree in bash manner
Project description
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
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
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 |