Skip to main content

Convert graphviz (dot) files into draw.io / lucid (mxGraph) format

Project description

graphviz2drawio

pypi Lint and Test Ruff Code style: black CodeFactor twitter

Convert graphviz (dot) files into draw.io / lucid (mxGraph) format.

Installation

macOS

graphviz2drawio can be installed with Homebrew:

brew install hbmartin/graphviz2drawio/graphviz2drawio

Linux

It is recommended to use pipx to install and run the CLI tool. If you wish to use the library, you can install with pip instead.

Note that the graphviz library is required before installing this package.

Ubuntu / Debian

sudo apt update
sudo apt install pipx graphviz graphviz-dev
pipx install graphviz2drawio
# To update: pipx upgrade graphviz2drawio

Fedora

sudo dnf install pipx
pipx ensurepath
pipx install graphviz2drawio
# To update: pipx upgrade graphviz2drawio

Usage

Run the conversion app on your graphviz file. For example, the command below will create converted files example1.xml and example2.xml.

graphviz2drawio example1.dot example2.dot

Alternatively, you can specify the output file (but only if there is a single input file)

graphviz2drawio example.dot -o /path/to/somewhere/new_name.xml

Output can also be sent to stdout by using the --stdout flag.

Graphs can be piped in from stdin and sent to stdout (default) or to a file with -o ....

Library Usage

from graphviz2drawio import graphviz2drawio

graph_to_convert = ...
xml = graphviz2drawio.convert(graph_to_convert)
print(xml)

where graph_to_convert can be any of a file path, file handle, string of dot language, or PyGraphviz.AGraph object

Built With

Contributing

Pull requests and issue reports are welcome. For major changes, please open an issue first to discuss what you would like to change.

Thanks to all the people who have helped make this project succesful!

Profile images of all the contributors

Development Setup

git clone git@github.com:hbmartin/graphviz2drawio.git
cd graphviz2drawio
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Replace with the actual path to your dot files
python -m graphviz2drawio test/directed/hello.gv.txt

Roadmap

  • Migrate to uv/hatch for packaging and dep mgmt
  • Turn on master branch protection
  • Support for fill gradient
  • Support compatible arrows

Legal

© Harold Martin - released under GPLv3

diagrams.net is a trademark and draw.io is a registered trademark of JGraph Limited.

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

graphviz2drawio-0.5.0.tar.gz (37.4 kB view hashes)

Uploaded Source

Built Distribution

graphviz2drawio-0.5.0-py3-none-any.whl (38.2 kB view hashes)

Uploaded Python 3

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