Skip to main content

blockdiag generates block-diagram image from text

Project description

blockdiag generate block-diagram image file from spec-text file.

GitHub Action CI build status Latest PyPI version Number of PyPI downloads

Features

  • Generate block-diagram from dot like text (basic feature).

  • Multilingualization for node-label (utf-8 only).

You can get some examples and generated images on blockdiag.com .

Setup

Use pip:

$ sudo pip install blockdiag

If you want to export as PDF format, give pdf arguments:

$ sudo pip install "blockdiag[pdf]"

Copy and modify ini file. example:

$ cp <blockdiag installed path>/blockdiag/examples/simple.diag .
$ vi simple.diag

Please refer to spec-text setting sample section for the format of the simpla.diag configuration file.

spec-text setting sample

Few examples are available. You can get more examples at blockdiag.com .

simple.diag

simple.diag is simply define nodes and transitions by dot-like text format:

diagram admin {
  top_page -> config -> config_edit -> config_confirm -> top_page;
}

screen.diag

screen.diag is more complexly sample. diaglam nodes have a alternative label and some transitions:

diagram admin {
  top_page [label = "Top page"];

  foo_index [label = "List of FOOs"];
  foo_detail [label = "Detail FOO"];
  foo_add [label = "Add FOO"];
  foo_add_confirm [label = "Add FOO (confirm)"];
  foo_edit [label = "Edit FOO"];
  foo_edit_confirm [label = "Edit FOO (confirm)"];
  foo_delete_confirm [label = "Delete FOO (confirm)"];

  bar_detail [label = "Detail of BAR"];
  bar_edit [label = "Edit BAR"];
  bar_edit_confirm [label = "Edit BAR (confirm)"];

  logout;

  top_page -> foo_index;
  top_page -> bar_detail;

  foo_index -> foo_detail;
               foo_detail -> foo_edit;
               foo_detail -> foo_delete_confirm;
  foo_index -> foo_add -> foo_add_confirm -> foo_index;
  foo_index -> foo_edit -> foo_edit_confirm -> foo_index;
  foo_index -> foo_delete_confirm -> foo_index;

  bar_detail -> bar_edit -> bar_edit_confirm -> bar_detail;
}

Usage

Execute blockdiag command:

$ blockdiag simple.diag
$ ls simple.png
simple.png

Requirements

  • Python 3.7 or later

  • Pillow 3.0 or later

  • funcparserlib 1.0.0a0 or later

  • reportlab (optional)

  • wand and imagemagick (optional)

  • setuptools

License

Apache License 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

blockdiag-3.0.0.tar.gz (2.7 MB view details)

Uploaded Source

Built Distribution

blockdiag-3.0.0-py3-none-any.whl (2.7 MB view details)

Uploaded Python 3

File details

Details for the file blockdiag-3.0.0.tar.gz.

File metadata

  • Download URL: blockdiag-3.0.0.tar.gz
  • Upload date:
  • Size: 2.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for blockdiag-3.0.0.tar.gz
Algorithm Hash digest
SHA256 dee4195bb87d23654546ba2bf5091480dbf253b409891fce2cd527c91d00a3e2
MD5 e1bfc69b83254ad3565c572ff4b3ad97
BLAKE2b-256 b4ebe2a4b6d5bf7f7121104ac7a1fc80b5dfa86ba286adbd1f25bf32a090a5eb

See more details on using hashes here.

File details

Details for the file blockdiag-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: blockdiag-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for blockdiag-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4031bfae6a7f36071d733dec639987346e10f7871356ee2c7a221961c64961d8
MD5 4f98b10b3fb3e3b888fc6264a7eca393
BLAKE2b-256 cfcdb82f859a9ebc4d24c1a8b901a68df0d90aa717fd4d47d6166db9449dc0ff

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page