https://github.com/ryanfreckleton/thinkgraph
A mini-language for making diagrams for use in the theory of constraints thinking processes.
https://github.com/ryanfreckleton/thinkgraph
Last synced: over 1 year ago
JSON representation
A mini-language for making diagrams for use in the theory of constraints thinking processes.
- Host: GitHub
- URL: https://github.com/ryanfreckleton/thinkgraph
- Owner: ryanfreckleton
- License: gpl-3.0
- Created: 2017-04-03T22:04:38.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-03-25T02:12:17.000Z (over 4 years ago)
- Last Synced: 2025-02-27T23:09:35.932Z (over 1 year ago)
- Language: Python
- Size: 43 KB
- Stars: 9
- Watchers: 3
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.markdown
- License: LICENSE.txt
Awesome Lists containing this project
README
thinkgraph: Theory of Constraints Thinking Processes Graphing Tool
==================================================================
This a tool that has a mini-language to help with creating diagrams ala Theory
of Constraints Thinking Processes.
- List
- Connections
- Styling
Usage
-----
#### Installation ####
git clone https://github.com/ryanfreckleton/thinkgraph
cd thinkgraph
pip install .
#### Hello World ####
Here's a basic use of thinkgraph to create an "evaporating cloud" diagram.
# hello.tkg
1. Try new things
2. Don't try new things
3. We must be satisfied
4. We must be secure
5. Happiness
1 <> 2
1 -> 3
2 -> 4
3 -> 5
4 -> 5
thinkgraph uses a very simple language.
It is divided up into entities and relations.
An entity is any line of the form:
.
Once you've created this file, running thinkgraph on it should generate a nice dot file.
thinkgraph hello.tkg
Identifiers and Relations
-------------------------
Identifiers can be numbers, words, or letters.
Labels are ASCII sentences and continue until the end of the line.
Relations are how relationships between entities are graphed. The relationships are:
<> conflict
-> cause
=> feedback loop
Color/Styling
-------------
Styling of entities is determined by a code after the period.
1.i An action
2.o An obstacle
3.g Something green
4.r Something red
5.y Something yellow
TODO
====
- Get it on PyPI
- Only use one "AND"
- Unit testing
- Refactoring/clean up code
- Handle unicode
- Use argparse
- Better styling