Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

Python library for easy tree displaying

Project description

Tree printer
============

This library provides a tree printer class for easy tree displaying

## Installation
``` sh
$ pip install treeprinter
```

## Basic usage

### Printer instance
``` python
from treeprinter import TreePrinter

class Tree(object):
def __init__(self, tag, children=None):
self.children = children or []
self.tag = tag

tree = Tree("animal", [
Tree("cat"),
Tree("dog", [Tree("chihuahua"), Tree("dalmatian")]),
Tree("wolf")])

printer = TreePrinter('children', 'tag')
printer.pprint(tree)
```
```
animal
|
---------------------------
| | |
cat dog wolf
|
----------
| |
chihuahua dalmatian
```

### Printer decorator
You could also get the same result by decorating your class like so to implement the \_\_str\_\_ method
``` python
@TreePrinter('children', 'tag')
class Tree(object):
def __init__(self, tag, children=None):
self.children = children or []
self.tag = tag

print(tree)
```


## Extensions
You can extend the library by implementing the base displayer
(see printers/json_printer.py)

``` python
from treeprinter import JsonPrinter

printer = JsonPrinter()
json = {
"fruits": ["Apple", "Banana", "Pear"],
"presidents": {
"France": ["Sarkozy", "Hollande"],
"USA": ["Trump", "Obama"]
},
"star": "Sun"
}
printer.pprint(json)
```

```
{}
|
--------------------------------------
| | |
{presidents} [fruits] star
| | |
---------------- -------------- Sun
| | | | |
[France] [USA] Apple Banana Pear
| |
--------- ------
| | | |
Sarkozy Hollande Trump Obama
```

Project details


Release history Release notifications

This version
History Node

0.0.2

History Node

0.0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
treeprinter-0.0.2.tar.gz (7.1 kB) Copy SHA256 hash SHA256 Source None Nov 13, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page