This is work in progress. There may be breaking changes. Pin the minor version while major is zero (i.e. diagrams created for version 0.5.0 should work without changes with version 0.5.1; however, this is not guaranteed with version 0.6.0). In case you use Poetry for package management, this is the default behavior when upgrading requirements.

Orthogram is a command line program and Python library that lets you draw block diagrams. It reads a YAML file and produces a PNG file like this one:

Complex diagram demonstrating the capabilities of the program

Orthogram does not aim to be a fully-featured graph layout solution. It offers just a single layout: grid. You have to arrange the blocks manually in the grid and they stay fixed in place; the program will not attempt to move them around trying to optimize any aspect of the diagram. Styling is also rather basic at the moment. It does however try to do a decent job arranging the connections around the blocks to produce a tidy, readable drawing.

When used as a command line tool, Orthogram reads a diagram definition file and produces a PNG image file. The definition file is written in YAML.

The source code is hosted on Github.

Indices and tables