Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install blockdiag

How to install blockdiag

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install blockdiag
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
1.2.3
1.2.4Never BuiltWhy not?
1.2.3 Available View build log
1.2.2 Available View build log
1.1.5 Available View build log
1.1.2 Available View build log
1.1.1 Available View build log
1.1.0 Available View build log
1.0.3 Available View build log
1.0.2 Available View build log
1.0.1 Available View build log
1.0.0 Available View build log
0.9.7 Available View build log
0.9.6 Available View build log
0.9.5 Available View build log
0.9.4 Available View build log
0.9.3 Available View build log
0.9.2 Available View build log
0.9.1 Available View build log
0.8.9 Available View build log
0.8.8 Available View build log
0.8.7 Available View build log
0.8.6 Available View build log
0.8.5 Available View build log
0.8.4 Available View build log
0.8.3 Available View build log
0.8.2 Available View build log
0.8.1 Available View build log
0.7.8 Available View build log
0.7.7 Available View build log
0.7.6 Available View build log
0.7.5 Available View build log
0.7.4 Available View build log
0.7.3 Available View build log
0.7.2 Available View build log
0.7.1 Available View build log
0.7.0 Available View build log
0.6.6 Available View build log
0.6.5 Available View build log
0.6.4 Available View build log
0.6.3 Available View build log
0.6.2 Available View build log
0.6 Available View build log
0.5.5 Available View build log
0.5.4 Available View build log
0.5.2 Available View build log
0.5.1 Available View build log
0.5 Available View build log
0.4.2 Available View build log
0.4.1 Available View build log
0.3.1 Available View build log
0.3 Available View build log
0.2.2 Available View build log
0.2.1 Available View build log
0.2 Failed View build log
0.1 Failed View build log
Windows (64-bit)
1.2.3
1.2.4Never BuiltWhy not?
1.2.3 Available View build log
1.1.5 Available View build log
1.1.2 Available View build log
1.1.1 Available View build log
1.1.0 Available View build log
1.0.3 Available View build log
1.0.2 Available View build log
1.0.1 Available View build log
1.0.0 Available View build log
0.9.7 Available View build log
0.9.6 Available View build log
0.9.5 Available View build log
0.9.4 Available View build log
0.9.3 Available View build log
0.9.2 Available View build log
0.9.1 Available View build log
0.8.9 Available View build log
0.8.8 Available View build log
0.8.7 Available View build log
0.8.6 Available View build log
0.8.5 Available View build log
0.8.4 Available View build log
0.8.3 Available View build log
0.8.2 Available View build log
0.8.1 Available View build log
0.7.8 Available View build log
0.7.7 Available View build log
0.7.6 Available View build log
0.7.5 Available View build log
0.7.4 Available View build log
0.7.3 Available View build log
0.7.2 Available View build log
0.7.1 Available View build log
0.7.0 Available View build log
0.6.6 Available View build log
0.6.5 Available View build log
0.6.4 Available View build log
0.6.3 Available View build log
0.6.2 Available View build log
0.6 Available View build log
0.5.5 Available View build log
0.5.4 Available View build log
0.5.2 Available View build log
0.5.1 Available View build log
0.5 Available View build log
0.4.2 Available View build log
0.4.1 Available View build log
0.3.1 Available View build log
0.3 Available View build log
0.2.2 Available View build log
0.2.1 Available View build log
0.2 Failed View build log
0.1 Failed View build log
Mac OS X (10.5+)
1.2.3
1.2.4Never BuiltWhy not?
1.2.3 Available View build log
1.2.2 Available View build log
1.1.5 Available View build log
1.1.2 Available View build log
1.1.1 Available View build log
1.1.0 Available View build log
1.0.3 Available View build log
1.0.2 Available View build log
1.0.1 Available View build log
1.0.0 Available View build log
0.9.7 Available View build log
0.9.6 Available View build log
0.9.5 Available View build log
0.9.4 Available View build log
0.9.3 Available View build log
0.9.2 Available View build log
0.9.1 Available View build log
0.8.9 Available View build log
0.8.8 Available View build log
0.8.7 Available View build log
0.8.6 Available View build log
0.8.5 Available View build log
0.8.4 Available View build log
0.8.3 Available View build log
0.8.2 Available View build log
0.8.1 Available View build log
0.7.8 Available View build log
0.7.7 Available View build log
0.7.6 Available View build log
0.7.5 Available View build log
0.7.4 Available View build log
0.7.3 Available View build log
0.7.2 Available View build log
0.7.1 Available View build log
0.7.0 Available View build log
0.6.6 Available View build log
0.6.5 Available View build log
0.6.4 Available View build log
0.6.3 Available View build log
0.6.2 Available View build log
0.6 Available View build log
0.5.5 Available View build log
0.5.4 Available View build log
0.5.2 Available View build log
0.5.1 Available View build log
0.5 Available View build log
0.4.2 Available View build log
0.4.1 Available View build log
0.3.1 Available View build log
0.3 Available View build log
0.2.2 Available View build log
0.2.1 Available View build log
0.2 Failed View build log
0.1 Failed View build log
Linux (32-bit)
1.2.3
1.2.4Never BuiltWhy not?
1.2.3 Available View build log
1.2.2 Available View build log
1.2.1 Available View build log
1.2.0 Available View build log
1.1.8 Available View build log
1.1.7 Available View build log
1.1.5 Available View build log
1.1.2 Available View build log
1.1.1 Available View build log
1.1.0 Available View build log
1.0.3 Available View build log
1.0.2 Available View build log
1.0.1 Available View build log
1.0.0 Available View build log
0.9.7 Available View build log
0.9.6 Available View build log
0.9.5 Available View build log
0.9.4 Available View build log
0.9.3 Available View build log
0.9.2 Available View build log
0.9.1 Available View build log
0.8.9 Available View build log
0.8.8 Available View build log
0.8.7 Available View build log
0.8.6 Available View build log
0.8.5 Available View build log
0.8.4 Available View build log
0.8.3 Available View build log
0.8.2 Available View build log
0.8.1 Available View build log
0.7.8 Available View build log
0.7.7 Available View build log
0.7.6 Available View build log
0.7.5 Available View build log
0.7.4 Available View build log
0.7.3 Available View build log
0.7.2 Available View build log
0.7.1 Available View build log
0.7.0 Available View build log
0.6.6 Available View build log
0.6.5 Available View build log
0.6.4 Available View build log
0.6.3 Available View build log
0.6.2 Available View build log
0.6 Available View build log
0.5.5 Available View build log
0.5.4 Available View build log
0.5.2 Available View build log
0.5.1 Available View build log
0.5 Available View build log
0.4.2 Available View build log
0.4.1 Available View build log
0.3.1 Available View build log
0.3 Available View build log
0.2.2 Available View build log
0.2.1 Available View build log
0.2 Failed View build log
0.1 Failed View build log
Linux (64-bit)
1.2.4 Available View build log
1.2.3 Available View build log
1.2.2 Available View build log
1.2.1 Available View build log
1.2.0 Available View build log
1.1.8 Available View build log
1.1.7 Available View build log
1.1.5 Available View build log
1.1.2 Available View build log
1.1.1 Available View build log
1.1.0 Available View build log
1.0.3 Available View build log
1.0.2 Available View build log
1.0.1 Available View build log
1.0.0 Available View build log
0.9.7 Available View build log
0.9.6 Available View build log
0.9.5 Available View build log
0.9.4 Available View build log
0.9.3 Available View build log
0.9.2 Available View build log
0.9.1 Available View build log
0.8.9 Available View build log
0.8.8 Available View build log
0.8.7 Available View build log
0.8.6 Available View build log
0.8.5 Available View build log
0.8.4 Available View build log
0.8.3 Available View build log
0.8.2 Available View build log
0.8.1 Available View build log
0.7.8 Available View build log
0.7.7 Available View build log
0.7.6 Available View build log
0.7.5 Available View build log
0.7.4 Available View build log
0.7.3 Available View build log
0.7.2 Available View build log
0.7.1 Available View build log
0.7.0 Available View build log
0.6.6 Available View build log
0.6.5 Available View build log
0.6.4 Available View build log
0.6.3 Available View build log
0.6.2 Available View build log
0.6 Available View build log
0.5.5 Available View build log
0.5.4 Available View build log
0.5.2 Available View build log
0.5.1 Available View build log
0.5 Available View build log
0.4.2 Available View build log
0.4.1 Available View build log
0.3.1 Available View build log
0.3 Available View build log
0.2.2 Available View build log
0.2.1 Available View build log
0.2 Failed View build log
0.1 Failed View build log
 
License
Apache License 2.0
Dependencies
Lastest release
version 1.2.4 on Jan 9th, 2014

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

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

by easy_install

Make environment:

$ easy_install blockdiag

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

$ easy_install "blockdiag[pdf]"
by buildout

Make environment:

$ hg clone http://bitbucket.org/tk0miya/blockdiag
$ cd blockdiag
$ python bootstrap.py
$ bin/buildout

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 2.4 or later (not support 3.x)
  • Python Imaging Library 1.1.5 or later.
  • funcparserlib 0.3.4 or later.
  • setuptools or distribute.

License

Apache License 2.0

History

1.2.4 (2012-11-21)
  • Fix bugs
1.2.3 (2012-11-05)
  • Fix bugs
1.2.2 (2012-10-28)
  • Fix bugs
1.2.1 (2012-10-28)
  • Add external imagedraw plugin supports
  • Add node attribute: label_orientation*
  • Fix bugs
1.2.0 (2012-10-22)
  • Optimize algorithm for rendering shadow
  • Add options to docutils directive
  • Fix bugs
1.1.8 (2012-09-28)
  • Add --ignore-pil option
  • Fix bugs
1.1.7 (2012-09-20)
  • Add diagram attribute: shadow_style
  • Add font path for centos 6.2
  • Add a setting 'antialias' in the configuration file
  • Fix bugs
1.1.6 (2012-06-06)
  • Support for readthedocs.org
  • reST directive supports :caption: option
  • Fix bugs
1.1.5 (2012-04-22)
  • Embed source code to SVG document as description
  • Fix bugs
1.1.4 (2012-03-15)
  • Add new edge.hstyles: oneone, onemany, manyone, manymany
  • Add edge attribute: description (for build description-tables)
  • Fix bugs
1.1.3 (2012-02-13)
  • Add new edge type for data-models (thanks to David Lang)
  • Add --no-transparency option
  • Fix bugs
1.1.2 (2011-12-26)
  • Support font-index for TrueType Font Collections (.ttc file)
  • Allow to use reST syntax in descriptions of nodes
  • Fix bugs
1.1.1 (2011-11-27)
  • Add node attribute: href (thanks to @r_rudi!)
  • Fix bugs
1.1.0 (2011-11-19)
  • Add shape: square and circle
  • Add fontfamily attribute for switching fontface
  • Fix bugs
1.0.3 (2011-11-13)
  • Add plugin: attributes
  • Change plugin syntax; (cf. plugin attributes [attr = value, attr, value])
  • Fix bugs
1.0.2 (2011-11-07)
  • Fix bugs
1.0.1 (2011-11-06)
  • Add group attribute: shape
  • Fix bugs
1.0.0 (2011-11-04)
  • Add node attribute: linecolor

  • Rename diagram attributes:
    • fontsize -> default_fontsize
    • default_line_color -> default_linecolor
    • default_text_color -> default_textcolor
  • Add docutils extention

  • Fix bugs

0.9.7 (2011-11-01)
  • Add node attribute: fontsize
  • Add edge attributes: thick, fontsize
  • Add group attribute: fontsize
  • Change color of shadow in PDF mode
  • Add class feature (experimental)
  • Add handler-plugin framework (experimental)
0.9.6 (2011-10-22)
  • node.style supports dashed_array format style
  • Fix bugs
0.9.5 (2011-10-19)
  • Add node attributes: width and height
  • Fix bugs
0.9.4 (2011-10-07)
  • Fix bugs
0.9.3 (2011-10-06)
  • Replace SVG core by original's (simplesvg.py)
  • Refactored
  • Fix bugs
0.9.2 (2011-09-30)
  • Add node attribute: textcolor
  • Add group attribute: textcolor
  • Add edge attribute: textcolor
  • Add diagram attributes: default_text_attribute
  • Fix beginpoint shape and endpoint shape were reversed
  • Fix bugs
0.9.1 (2011-09-26)
  • Add diagram attributes: default_node_color, default_group_color and default_line_color
  • Fix bugs
0.9.0 (2011-09-25)
  • Add icon attribute to node
  • Make transparency to background of PNG images
  • Fix bugs
0.8.9 (2011-08-09)
  • Fix bugs
0.8.8 (2011-08-08)
  • Fix bugs
0.8.7 (2011-08-06)
  • Fix bugs
0.8.6 (2011-08-01)
  • Support Pillow as replacement of PIL (experimental)
  • Fix bugs
0.8.5 (2011-07-31)
  • Allow dot characters in node_id
  • Fix bugs
0.8.4 (2011-07-05)
  • Fix bugs
0.8.3 (2011-07-03)
  • Support input from stdin
  • Fix bugs
0.8.2 (2011-06-29)
  • Add node.stacked
  • Add node shapes: dots, none
  • Add hiragino-font to font search list
  • Support background image fetching from web
  • Add diagram.edge_layout (experimental)
  • Fix bugs
0.8.1 (2011-05-14)
  • Change license to Apache License 2.0
  • Fix bugs
0.8.0 (2011-05-04)
  • Add --separate option and --version option
  • Fix bugs
0.7.8 (2011-04-19)
  • Update layout engine
  • Update requirements: PIL >= 1.1.5
  • Update parser for tokenize performance
  • Add --nodoctype option
  • Fix bugs
  • Add many testcases
0.7.7 (2011-03-29)
  • Fix bugs
0.7.6 (2011-03-26)
  • Add new layout manager for portrait edges
  • Fix bugs
0.7.5 (2011-03-20)
  • Support multiple nodes relations (cf. A -> B, C)
  • Support node group declaration at attribute of nodes
  • Fix bugs
0.7.4 (2011-03-08)
  • Fix bugs
0.7.3 (2011-03-02)
  • Use UTF-8 characters as Name token (by @swtw7466)
  • Fix htmlentities included in labels was not escaped on SVG images
  • Fix bugs
0.7.2 (2011-02-28)
  • Add default_shape attribute to diagram
0.7.1 (2011-02-27)
  • Fix edge has broken with antialias option
0.7.0 (2011-02-25)
  • Support node shape
0.6.7 (2011-02-12)
  • Change noderenderer interface to new style
  • Render dashed ellipse more clearly (contributed by @cocoatomo)
  • Support PDF exporting
0.6.6 (2011-01-31)
  • Support diagram.shape_namespace
  • Add new node shapes; mail, cloud, beginpoint, endpoint, minidiamond, actor
  • Support plug-in structure to install node shapes
  • Fix bugs
0.6.5 (2011-01-18)
  • Support node shape (experimental)
0.6.4 (2011-01-17)
  • Fix bugs
0.6.3 (2011-01-15)
  • Fix bugs
0.6.2 (2011-01-08)
  • Fix bugs
0.6.1 (2011-01-07)
  • Implement 'folded' attribute for edge
  • Refactor layout engine
0.6 (2011-01-02)
  • Support nested groups.
0.5.5 (2010-12-24)
  • Specify direction of edges as syntax (->, --, <-, <->)
  • Fix bugs.
0.5.4 (2010-12-23)
  • Remove debug codes.
0.5.3 (2010-12-23)
  • Support NodeGroup.label.
  • Implement --separate option (experimental)
  • Fix right-up edge overrapped on other nodes.
  • Support configration file: .blockdiagrc
0.5.2 (2010-11-06)
  • Fix unicode errors for UTF-8'ed SVG exportion.
  • Refactoring codes for running on GAE.
0.5.1 (2010-10-26)
  • Fix license text on diagparser.py
  • Update layout engine.
0.5 (2010-10-15)
  • Support background-image of node (SVG)
  • Support labels for edge.
  • Fix bugs.
0.4.2 (2010-10-10)
  • Support background-color of node groups.
  • Draw edge has jumped at edge's cross-points.
  • Fix bugs.
0.4.1 (2010-10-07)
  • Fix bugs.
0.4 (2010-10-07)
  • Support SVG exporting.
  • Support dashed edge drawing.
  • Support background image of nodes (PNG only)
0.3.1 (2010-09-29)
  • Fasten anti-alias process.
  • Fix text was broken on windows.
0.3 (2010-09-26)
  • Add --antialias option.
  • Fix bugs.
0.2.2 (2010-09-25)
  • Fix edge bugs.
0.2.1 (2010-09-25)
  • Fix bugs.
  • Fix package style.
0.2 (2010-09-23)
  • Update layout engine.
  • Support group { ... } sentence for create Node-Groups.
  • Support numbered badge on node (cf. A [numbered = 5])
0.1 (2010-09-20)
  • first release

Todos

Functionals
  • Reimplement --separate option
  • Support diagram legends
  • Support other block diagram structure
Known Issues
  • Fix some experimental features.
  • PDF renderer does not support blur shadow
  • PDF renderer does not support path rendering

Subscribe to package updates

Last updated Jan 9th, 2014

Download Stats

Last month:43

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.