Skip to main content

Draw ASCII trees easily

Project description

Treeart

Treeart lets you draw ASCII trees easily. These can contain nodes that span multiple lines, they will be correctly combined.

Examples

>>> from treeart import *
>>> print(binary_edge(1, 2, 3))
╭─1─╮
2   3

>>> print(binary_edge(1, 2, binary_edge(3, 4, 5)))
╭──1──╮
2   ╭─3─╮
    4   5

>>> x, y = 'x', 'y'
for i in range(5):
    x, y = binary_edge(i, x, y), x
print(x)
                  ╭───────────4───────────╮
          ╭───────3──────╮           ╭────2───╮  
     ╭────2───╮       ╭──1──╮     ╭──1──╮   ╭─0─╮
  ╭──1──╮   ╭─0─╮   ╭─0─╮   x   ╭─0─╮   x   x   y
╭─0─╮   x   x   y   x   y       x   y            
x   y

>>> print(binary_edge('aa\nbb', 'c', 'eee\nfff'))
  aa
╭─bb─╮
c   eee
    fff

Customization

You can specify three kinds of edges, which use more or less space, and might work better for different applications:

>>> print(binary_edge(111, 222, 333, align='upper'))
 ╭─111─╮
222   333

>>> print(binary_edge(111, 222, 333, align='center'))
   111
 ╭──┴──╮
222   333

>>> print(binary_edge(111, 222, 333, align='lower'))
   111
222─┴─333

You can also specify a gap on either side of the abutting edges:

>>> print(binary_edge(111, 222, 333, align='upper', gap=True))
 ╭─ 111 ─╮
222     333

Project details


Download files

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

Files for treeart, version 0.0.2
Filename, size File type Python version Upload date Hashes
Filename, size treeart-0.0.2.tar.gz (3.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

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