Skip to main content

Block Diagrams in Python

Project description

Welcome to BDP

BDP (Block Diagrams in Python) aims to become a Python fronted for TikZ when it comes to drawing block diagrams in order to facilitate the process. BDP wraps the TikZ statements into the Python objects so that users can describe diagrams in pure Python. However, inserting raw TikZ in BDP is also possible. Figure below shows an BDP example image which represents the BDP compilation process.

doc/source/images/compile_process.png

Figure can be rendered with the compile_process.py BDP diagram. It can be rendered into the PNG with BDP via command line:

# bdp compile_process.py -p

For a complete list of command line options please take a look at command_line chapter of the documentation.

Why BDP?

BDP brings following benefits:

  • Diagram description in Python which should render it more readable

  • Step-by-step debugging of the diagram description

  • Use the tools and design environments available for Python development (debugging, code completion, refactoring, documentation utilities…)

  • Use vast Python library of packages

BDP features

BDP package comprises:

  • Python classes that wrap the Tikz statements

  • Class for rendering PDF and PNG images from the Python description

  • Shell entry point for rendering BDP images from command line

  • Sphinx extensions for embedding BDP images into the Sphinx documents

Image below is a more complex example, which shows how power of Python programming can be used to generate diagrams with BDP. Image shows an UML-like diagram of few major BDP templates.

doc/source/images/uml.png

Figure can be rendered with the uml.py BDP diagram.

Where to start?

Installation

Install BDP using pip:

pip install bdp

Install BDP using easy_install:

easy_install bdp

Install BDP from source:

python setup.py install

BDP requires TeX Live, which could be installed on a Debian or a Debian-derived systems, with:

# sudo apt-get install texlive

For converting PDF to PNG, pdftoppm, pnmcrop and pnmtopng are needed, which could be installed on a Debian or a Debian-derived systems, with:

# sudo apt-get install poppler-utils
# sudo apt-get install netpbm

Read the documentation

Read the BDP documentation

Checkout the examples

BDP images used in documentation are located in the images repository documentation folder.

Get involved

Pull your copy from github repository

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

bdp-0.1.tar.gz (26.4 kB view details)

Uploaded Source

File details

Details for the file bdp-0.1.tar.gz.

File metadata

  • Download URL: bdp-0.1.tar.gz
  • Upload date:
  • Size: 26.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for bdp-0.1.tar.gz
Algorithm Hash digest
SHA256 8ddf22bb72b4802a14e931db16d62b9e7dc25e5fee6c212568fa92163a8e7e95
MD5 6a0684475b9e6be0a07be3bab76e0dfa
BLAKE2b-256 9618e3116c8392c3c97726d2a7e248979b0f78c1d503da520b821cccd098ee87

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