Skip to main content

Commandline tool to generate data flow diagrams from text

Project description

DFD

DFD (Data Flow Diagram) Generator - Commandline tool to generate diagrams as images in various formats (SVG, PNG, JPG, PDF, etc.) from source text files.

The source for this project is available here. The package page is available here.

Scope

The present tool allows to create diagrams following the "Structured Analysis / Stuctured Design" (SA/SD) modelling technique as described by Edward Yourdon.

SA/RT (which is SA/SD with a real-time extension), can be found in the design of real-time and embedded systems. Example: Firmware modelling of the Active Descent System of the Rosetta Lander spacecraft.

Surprisingly, SA/RT is also well-suited to the analyse and design of web micro-services and IoT architectures.

Summary

Data Flow Diagram are used to model the flow and processing of information through a system.

process	P	Process
process	P2	Process
entity	E	Entity
store	S	Store
channel	C	Channel

E  --> P	flow
P  ::> P2	signal
P  <-> S	bidirectional flow
P  --- C	undirected flow

simple example

Syntax and examples

See the documentation page.

Dependencies

  • Python3
  • Graphviz

Installing via pip3

[sudo] pip3 install data-flow-diagram

Installation troubleshooting

If you get an error at runtime like:

ModuleNotFoundError: No module named 'reportlab.graphics._renderPM'

you may have to reinstall reportlab:

[sudo] python3 -m pip install --upgrade --force-reinstall reportlab

Usage

data-flow-diagram -h says:

usage: data-flow-diagram [-h] [--output-file OUTPUT_FILE] [--markdown]
                         [--format FORMAT] [--percent-zoom PERCENT_ZOOM]
                         [--background-color BACKGROUND_COLOR] [--debug]
                         [INPUT_FILE]

Command-line DFD diagram generator. Converts a textual description into a
graphic file.

positional arguments:
  INPUT_FILE            UML sequence input file; if omitted, stdin is used

options:
  -h, --help            show this help message and exit
  --output-file OUTPUT_FILE, -o OUTPUT_FILE
                        output file name; pass '-' to use stdout; if
                        omitted, use INPUT_FILE base name with '.svg'
                        extension, or stdout
  --markdown, -m        consider snippets between opening marker:
                        ```data-flow-diagram OUTFILE, and closing marker:
                        ``` allowing to generate all diagrams contained in
                        an INPUT_FILE that is a markdown file
  --format FORMAT, -f FORMAT
                        output format: gif, jpg, tiff, bmp, pnm, eps, pdf,
                        svg (any supported by Graphviz); default is svg
  --no-graph-title      suppress graph title
  --no-check-dependencies
                        suppress dependencies checking
  --debug               emits debug messages

See https://github.com/pbauermeister/dfd for information, syntax and
examples.

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

data_flow_diagram-1.16.2.post2.tar.gz (22.7 kB view details)

Uploaded Source

File details

Details for the file data_flow_diagram-1.16.2.post2.tar.gz.

File metadata

  • Download URL: data_flow_diagram-1.16.2.post2.tar.gz
  • Upload date:
  • Size: 22.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for data_flow_diagram-1.16.2.post2.tar.gz
Algorithm Hash digest
SHA256 905bc13b05021c70bbdd7c38aa88b9c0f8b77fce26991205407eec8e67b0cc7a
MD5 ef093d37aae547007461a9c8658e7a6c
BLAKE2b-256 9c8dde9d610683933d8f1f11178189dfed115d47dbd3a2802b96a39a7bf662b9

See more details on using hashes here.

Supported by

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