Skip to content

jeremiah-c-leary/block-diagrammer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Block Diagrammer (BD)

Simple Block Diagram Generator

"diagram": {
  "lines": [
    "| A | ---> | D | <-------> | F |",
    "|   | <------------------> |   | <----- | I |",
    "|   | ---> | E | <-------> |   |",
    "           |   | <-------- | G |",
    "| B | <--> |   | <-------> | H | <----> | J |",
    "|   | -------------------> |   |",
    "| C | -------------------> |   | -----> | K |"
  ]
}

Table of Contents

Overview

Creating block diagrams using a drawing tool such as Microsoft Visio can result in complicated diagrams.

Block Diagram Philosopy

  1. Only have enough information
  2. Make it simple to create
  3. Consistent block diagrams
  4. Use text as the source

Block Diagrammer trades the flexibility of drawing tools with a set of simple rules. These rules provide a framework to generate diagrams.

  1. Use a grid based system to describe block diagram
  2. Nodes are in even columns
  3. Arrows are in odd columns
  4. Nodes can stack
  5. Arrows are only horizontal

Key Benefits

  • Simplifies block diagram creation
  • Text based input can be source controlled
  • Rendered output can be used in documentation

Key Features

  • Command line tool
  • JSON for input

Installation

You can get the latest released version of Block Diagrammer via pip.

pip install block-diagrammer

The latest development version can be cloned...

git clone https://github.com/jeremiah-c-leary/block_diagrammer.git

...and then installed locally...

python setup.py install

Usage

Block Diagrammer can be invoked with:

$ bd render svg <config_file>

Here is an example output running against a test file:

Documentation

All documentation for Block Diagrammer is hosted at read-the-docs.

Contributing

I welcome any contributions to this project. No matter how small or large.

There are several ways to contribute:

  • Bug reports
  • Code base improvements
  • Feature requests
  • Pull requests

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages