Structoscope¶
Welcome to the documentation for the structoscope Python library!
Structoscope is a Python library for visualizing and inspecting any data structure.
Reference
Install¶
The only external dependency is the graphviz binary, which you can install buy running the following command in the terminal.
brew install graphviz
Now you can install structoscope by running the following command in the terminal.
pip3 install structoscope
Examples¶
Lists¶
Structoscope can easily display Python lists:
from structoscope import Scope
s = Scope()
testList = [1,2,3]
s.print(testList)
input() # block the main thread
Example 1
Multi-dimensional Lists¶
It can even display multi-dimensional lists:
from structoscope import Scope
s = Scope()
testList = [
[1,2],
[
['a', 'b'],
['c', 'd']
],
'abc'
]
s.print(testList)
input() # block the main thread
Example 2
Dictionaries¶
Or it can display dictionaries:
from structoscope import Scope
s = Scope()
testDict = {
'first' : 101,
'second' : 102,
'third' : 103,
}
s.print(testDict)
input() # block the main thread
Example 3
Trees¶
It can even display trees:
from structoscope import Scope
class Node:
def __init__(self, val=None, children=[]):
self.val = val
self.children = children
s = Scope(
dataMemberName='val',
childrenMemberName='children'
)
node9 = Node(val='J')
node8 = Node(val='I')
node7 = Node(val='H')
node6 = Node(val='G')
node5 = Node(val='F')
node4 = Node(val='E')
node3 = Node(val='D', children=[node8, node9])
node2 = Node(val='C', children=[node6, node7])
node1 = Node(val='B', children=[node4, node5])
root = Node(val='A', children=[node1, node2, node3])
s.print(root)
input() # block the main thread
Example 4