- Notifications
You must be signed in to change notification settings - Fork1
Converts ASCII text to a graph (represented as a dictionary).
License
bast/ascii2graph
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Converts ASCII text to a graph (represented as a dictionary of connections andangles). It can represent directed and undirected graphs.
$ pip install ascii2graph
fromascii2graphimportgraphtext=r'''a->boo^ | x| v /c<--d-e | | f-g'''result=graph(text)print(result)
This produces the following graph (dictionary):
result= {(1,4,'a'): [(1,7,'boo',90)], (4,4,'c'): [(1,4,'a',0)], (4,8,'d'): [(4,4,'c',270), (4,10,'e',90), (6,8,'f',180)], (4,10,'e'): [(2,12,'x',45), (4,8,'d',270), (6,10,'g',180)], (2,12,'x'): [(4,10,'e',225)], (6,8,'f'): [(6,10,'g',90), (4,8,'d',0)], (6,10,'g'): [(6,8,'f',270), (4,10,'e',0)], (1,7,'boo'): [(4,8,'d',180)]}
Nodes can be anything that is not one of these characters:
- | / \ v ^ < >
There is one exception (sorry!): If "/" is part of[sometext/foo]
, then it is not interpretedas an edge. The reason is that I needed this to visualize Git branches and Git history where I needed[origin/somebranch]
.
I use it inhttps://github.com/bast/gitink to create SVG graphics for teachingGit DAGs from plain text files because it is so easy to change a text file andsimply generate a new SVG image. This module helps me to obtain a graphrepresentation that I can use somewhere else to generate graphics.
About
Converts ASCII text to a graph (represented as a dictionary).
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.