data-flow-diagram


Namedata-flow-diagram JSON
Version 1.11.0 PyPI version JSON
download
home_pagehttps://github.com/pbauermeister/dfd
SummaryCommandline tool to generate data flow diagrams from text
upload_time2025-02-22 17:56:45
maintainerNone
docs_urlNone
authorPascal Bauermeister
requires_python<4,>=3.10
licenseGNU General Public License v3 (GPLv3)
keywords diagram-generator development tool
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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][src].
The package page is [available here][pypi].

## 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](https://www.spyr.ch/ps/ads/qm/node18.html) of the [Rosetta
Lander](https://en.wikipedia.org/wiki/Rosetta_(spacecraft))
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.

```data-flow-diagram example.svg
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](https://raw.githubusercontent.com/pbauermeister/dfd/master/example.svg "Simple example")

## Syntax and examples

See the [documentation page][doc].

## 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.
```

[src]: https://github.com/pbauermeister/dfd
[pypi]: https://pypi.org/project/data-flow-diagram
[doc]: https://github.com/pbauermeister/dfd/tree/master/doc/README.md

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/pbauermeister/dfd",
    "name": "data-flow-diagram",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4,>=3.10",
    "maintainer_email": null,
    "keywords": "diagram-generator, development, tool",
    "author": "Pascal Bauermeister",
    "author_email": "pascal.bauermeister@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/22/fe/9789efc5187acc5a32f2a95359ea7601c52c8b56710b8f03e6f789499933/data_flow_diagram-1.11.0.tar.gz",
    "platform": null,
    "description": "# DFD\n\nDFD (Data Flow Diagram) Generator - Commandline tool to generate\ndiagrams as images in various formats (SVG, PNG, JPG, PDF, etc.) from\nsource text files.\n\nThe source for this project is [available here][src].\nThe package page is [available here][pypi].\n\n## Scope\n\nThe present tool allows to create diagrams following the \"Structured\nAnalysis / Stuctured Design\" (SA/SD) modelling technique as described\nby Edward Yourdon.\n\nSA/RT (which is SA/SD with a real-time extension), can be found in the\ndesign of real-time and embedded systems.\nExample: [Firmware modelling of the Active Descent\nSystem](https://www.spyr.ch/ps/ads/qm/node18.html) of the [Rosetta\nLander](https://en.wikipedia.org/wiki/Rosetta_(spacecraft))\nspacecraft.\n\nSurprisingly, SA/RT is also well-suited to the analyse and design of\nweb micro-services and IoT architectures.\n\n## Summary\nData Flow Diagram are used to model the flow and processing of\ninformation through a system.\n\n```data-flow-diagram example.svg\nprocess\tP\tProcess\nprocess\tP2\tProcess\nentity\tE\tEntity\nstore\tS\tStore\nchannel\tC\tChannel\n\nE  --> P\tflow\nP  ::> P2\tsignal\nP  <-> S\tbidirectional flow\nP  --- C\tundirected flow\n```\n\n![simple example](https://raw.githubusercontent.com/pbauermeister/dfd/master/example.svg \"Simple example\")\n\n## Syntax and examples\n\nSee the [documentation page][doc].\n\n## Dependencies\n\n * Python3\n * Graphviz\n\n## Installing via pip3\n\n```\n[sudo] pip3 install data-flow-diagram\n```\n\n## Installation troubleshooting\n\nIf you get an error at runtime like:\n```\nModuleNotFoundError: No module named 'reportlab.graphics._renderPM'\n```\nyou may have to reinstall reportlab:\n```\n[sudo] python3 -m pip install --upgrade --force-reinstall reportlab\n```\n\n## Usage\n\n`data-flow-diagram -h` says:\n\n```\nusage: data-flow-diagram [-h] [--output-file OUTPUT_FILE] [--markdown]\n                         [--format FORMAT] [--percent-zoom PERCENT_ZOOM]\n                         [--background-color BACKGROUND_COLOR] [--debug]\n                         [INPUT_FILE]\n\nCommand-line DFD diagram generator. Converts a textual description into a\ngraphic file.\n\npositional arguments:\n  INPUT_FILE            UML sequence input file; if omitted, stdin is used\n\noptions:\n  -h, --help            show this help message and exit\n  --output-file OUTPUT_FILE, -o OUTPUT_FILE\n                        output file name; pass '-' to use stdout; if\n                        omitted, use INPUT_FILE base name with '.svg'\n                        extension, or stdout\n  --markdown, -m        consider snippets between opening marker:\n                        ```data-flow-diagram OUTFILE, and closing marker:\n                        ``` allowing to generate all diagrams contained in\n                        an INPUT_FILE that is a markdown file\n  --format FORMAT, -f FORMAT\n                        output format: gif, jpg, tiff, bmp, pnm, eps, pdf,\n                        svg (any supported by Graphviz); default is svg\n  --no-graph-title      suppress graph title\n  --no-check-dependencies\n                        suppress dependencies checking\n  --debug               emits debug messages\n\nSee https://github.com/pbauermeister/dfd for information, syntax and\nexamples.\n```\n\n[src]: https://github.com/pbauermeister/dfd\n[pypi]: https://pypi.org/project/data-flow-diagram\n[doc]: https://github.com/pbauermeister/dfd/tree/master/doc/README.md\n",
    "bugtrack_url": null,
    "license": "GNU General Public License v3 (GPLv3)",
    "summary": "Commandline tool to generate data flow diagrams from text",
    "version": "1.11.0",
    "project_urls": {
        "Bug Reports": "https://github.com/pbauermeister/dfd/issues",
        "Homepage": "https://github.com/pbauermeister/dfd",
        "Source": "https://github.com/pbauermeister/dfd"
    },
    "split_keywords": [
        "diagram-generator",
        " development",
        " tool"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "22fe9789efc5187acc5a32f2a95359ea7601c52c8b56710b8f03e6f789499933",
                "md5": "3cf110a5b1d430b474fbcd2ec7f9b81c",
                "sha256": "8892017ff9b68819d259e8621e55b6d96e1ebbe9b9f251bbf96a7841c41c8279"
            },
            "downloads": -1,
            "filename": "data_flow_diagram-1.11.0.tar.gz",
            "has_sig": false,
            "md5_digest": "3cf110a5b1d430b474fbcd2ec7f9b81c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4,>=3.10",
            "size": 16664,
            "upload_time": "2025-02-22T17:56:45",
            "upload_time_iso_8601": "2025-02-22T17:56:45.767107Z",
            "url": "https://files.pythonhosted.org/packages/22/fe/9789efc5187acc5a32f2a95359ea7601c52c8b56710b8f03e6f789499933/data_flow_diagram-1.11.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-22 17:56:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "pbauermeister",
    "github_project": "dfd",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "data-flow-diagram"
}
        
Elapsed time: 0.73312s