graphviz


Namegraphviz JSON
Version 0.20.3 PyPI version JSON
download
home_pagehttps://github.com/xflr6/graphviz
SummarySimple Python interface for Graphviz
upload_time2024-03-21 07:50:45
maintainerNone
docs_urlNone
authorSebastian Bank
requires_python>=3.8
licenseMIT
keywords graph visualization dot render
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Graphviz
========

|PyPI version| |License| |Supported Python| |Wheel| |Downloads|

|Build| |Codecov| |Readthedocs-stable| |Readthedocs-latest|

|Binder-stable|

This package facilitates the creation and rendering of graph descriptions in
the DOT_ language of the Graphviz_ graph drawing software (`upstream repo`_)
from Python.

Create a graph object, assemble the graph by adding nodes and edges, and
retrieve its DOT source code string. Save the source code to a file and render
it with the Graphviz installation of your system.

Use the ``view`` option/method to directly inspect the resulting (PDF, PNG,
SVG, etc.) file with its default application. Graphs can also be rendered
and displayed within `Jupyter notebooks`_ (formerly known as
`IPython notebooks`_,
`example <notebook_>`_, `nbviewer <notebook-nbviewer_>`_)
as well as the `Jupyter QtConsole`_.


Links
-----

- GitHub: https://github.com/xflr6/graphviz
- PyPI: https://pypi.org/project/graphviz/
- Documentation: https://graphviz.readthedocs.io
- Changelog: https://graphviz.readthedocs.io/en/latest/changelog.html
- Issue Tracker: https://github.com/xflr6/graphviz/issues
- Download: https://pypi.org/project/graphviz/#files


Installation
------------

This package runs under Python 3.8+, use pip_ to install:

.. code:: bash

    $ pip install graphviz

To render the generated DOT source code, you also need to install Graphviz_
(`download page <upstream-download_>`_,
`archived versions <upstream-archived_>`_,
`installation procedure for Windows <upstream-windows_>`_).

Make sure that the directory containing the ``dot`` executable is on your
systems' ``PATH``
(sometimes done by the installer;
setting ``PATH``
on `Linux <set-path-linux_>`_,
`Mac <set-path-darwin_>`_,
and `Windows <set-path-windows_>`_).

Anaconda_: see the conda-forge_ package
`conda-forge/python-graphviz <conda-forge-python-graphviz_>`_
(`feedstock <conda-forge-python-graphviz-feedstock_>`_),
which should automatically ``conda install``
`conda-forge/graphviz <conda-forge-graphviz_>`_
(`feedstock <conda-forge-graphviz-feedstock_>`_) as dependency.


Quickstart
----------

Create a graph object:

.. code:: python

    >>> import graphviz  # doctest: +NO_EXE
    >>> dot = graphviz.Digraph(comment='The Round Table')
    >>> dot  #doctest: +ELLIPSIS
    <graphviz.graphs.Digraph object at 0x...>

Add nodes and edges:

.. code:: python

    >>> dot.node('A', 'King Arthur')  # doctest: +NO_EXE
    >>> dot.node('B', 'Sir Bedevere the Wise')
    >>> dot.node('L', 'Sir Lancelot the Brave')

    >>> dot.edges(['AB', 'AL'])
    >>> dot.edge('B', 'L', constraint='false')

Check the generated source code:

.. code:: python

    >>> print(dot.source)  # doctest: +NORMALIZE_WHITESPACE +NO_EXE
    // The Round Table
    digraph {
        A [label="King Arthur"]
        B [label="Sir Bedevere the Wise"]
        L [label="Sir Lancelot the Brave"]
        A -> B
        A -> L
        B -> L [constraint=false]
    }

Save and render the source code (skip/ignore any ``doctest_mark_exe()`` lines):

.. code:: python

    >>> doctest_mark_exe()  # skip this line

    >>> dot.render('doctest-output/round-table.gv').replace('\\', '/')
    'doctest-output/round-table.gv.pdf'

Save and render and view the result:

.. code:: python

    >>> doctest_mark_exe()  # skip this line

    >>> dot.render('doctest-output/round-table.gv', view=True)  # doctest: +SKIP
    'doctest-output/round-table.gv.pdf'

.. image:: https://raw.github.com/xflr6/graphviz/master/docs/_static/round-table.svg
    :align: center
    :alt: round-table.svg

**Caveat:**
Backslash-escapes and strings of the form ``<...>``
have a special meaning in the DOT language.
If you need to render arbitrary strings (e.g. from user input),
check the details in the `user guide`_.


See also
--------

- pygraphviz_ |--| full-blown interface wrapping the Graphviz C library with SWIG
- graphviz-python_ |--| official Python bindings
  (`documentation <graphviz-python-docs_>`_)
- pydot_ |--| stable pure-Python approach, requires pyparsing


License
-------

This package is distributed under the `MIT license`_.


Development
-----------

- Development documentation: https://graphviz.readthedocs.io/en/latest/development.html
- Release process: https://graphviz.readthedocs.io/en/latest/release_process.html


.. _Graphviz:  https://www.graphviz.org
.. _DOT: https://www.graphviz.org/doc/info/lang.html
.. _upstream repo: https://gitlab.com/graphviz/graphviz/
.. _upstream-download: https://www.graphviz.org/download/
.. _upstream-archived: https://www2.graphviz.org/Archive/stable/
.. _upstream-windows: https://forum.graphviz.org/t/new-simplified-installation-procedure-on-windows/224

.. _set-path-windows: https://www.computerhope.com/issues/ch000549.htm
.. _set-path-linux: https://stackoverflow.com/questions/14637979/how-to-permanently-set-path-on-linux-unix
.. _set-path-darwin: https://stackoverflow.com/questions/22465332/setting-path-environment-variable-in-osx-permanently

.. _pip: https://pip.pypa.io

.. _Jupyter notebooks: https://jupyter.org
.. _IPython notebooks: https://ipython.org/notebook.html
.. _Jupyter QtConsole: https://qtconsole.readthedocs.io

.. _notebook: https://github.com/xflr6/graphviz/blob/master/examples/graphviz-notebook.ipynb
.. _notebook-nbviewer: https://nbviewer.org/github/xflr6/graphviz/blob/master/examples/graphviz-notebook.ipynb

.. _Anaconda: https://docs.anaconda.com/anaconda/install/
.. _conda-forge: https://conda-forge.org
.. _conda-forge-python-graphviz: https://anaconda.org/conda-forge/python-graphviz
.. _conda-forge-python-graphviz-feedstock: https://github.com/conda-forge/python-graphviz-feedstock
.. _conda-forge-graphviz: https://anaconda.org/conda-forge/graphviz
.. _conda-forge-graphviz-feedstock: https://github.com/conda-forge/graphviz-feedstock

.. _user guide: https://graphviz.readthedocs.io/en/stable/manual.html

.. _pygraphviz: https://pypi.org/project/pygraphviz/
.. _graphviz-python: https://pypi.org/project/graphviz-python/
.. _graphviz-python-docs: https://www.graphviz.org/pdf/gv.3python.pdf
.. _pydot: https://pypi.org/project/pydot/

.. _MIT license: https://opensource.org/licenses/MIT


.. |--| unicode:: U+2013


.. |PyPI version| image:: https://img.shields.io/pypi/v/graphviz.svg
    :target: https://pypi.org/project/graphviz/
    :alt: Latest PyPI Version
.. |License| image:: https://img.shields.io/pypi/l/graphviz.svg
    :target: https://github.com/xflr6/graphviz/blob/master/LICENSE.txt
    :alt: License
.. |Supported Python| image:: https://img.shields.io/pypi/pyversions/graphviz.svg
    :target: https://pypi.org/project/graphviz/
    :alt: Supported Python Versions
.. |Wheel| image:: https://img.shields.io/pypi/wheel/graphviz.svg
    :target: https://pypi.org/project/graphviz/#files
    :alt: Wheel format
.. |Downloads| image::  https://img.shields.io/pypi/dm/graphviz.svg
    :target: https://pypistats.org/packages/graphviz
    :alt: Monthly downloads

.. |Build| image:: https://github.com/xflr6/graphviz/actions/workflows/build.yaml/badge.svg?branch=master
    :target: https://github.com/xflr6/graphviz/actions/workflows/build.yaml?query=branch%3Amaster
    :alt: Build
.. |Codecov| image:: https://codecov.io/gh/xflr6/graphviz/branch/master/graph/badge.svg
    :target: https://codecov.io/gh/xflr6/graphviz
    :alt: Codecov
.. |Readthedocs-stable| image:: https://readthedocs.org/projects/graphviz/badge/?version=stable
    :target: https://graphviz.readthedocs.io/en/stable/
    :alt: Readthedocs (stable)
.. |Readthedocs-latest| image:: https://readthedocs.org/projects/graphviz/badge/?version=latest
    :target: https://graphviz.readthedocs.io/en/latest/
    :alt: Readthedocs (latest)

.. |Binder-stable| image:: https://img.shields.io/badge/launch-binder%20(stable)-579ACA.svg?logo=data:image/png;base64,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
    :target: https://mybinder.org/v2/gh/xflr6/graphviz/stable
    :alt: Binder (stable)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/xflr6/graphviz",
    "name": "graphviz",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "graph visualization dot render",
    "author": "Sebastian Bank",
    "author_email": "sebastian.bank@uni-leipzig.de",
    "download_url": "https://files.pythonhosted.org/packages/fa/83/5a40d19b8347f017e417710907f824915fba411a9befd092e52746b63e9f/graphviz-0.20.3.zip",
    "platform": "any",
    "description": "Graphviz\r\n========\r\n\r\n|PyPI version| |License| |Supported Python| |Wheel| |Downloads|\r\n\r\n|Build| |Codecov| |Readthedocs-stable| |Readthedocs-latest|\r\n\r\n|Binder-stable|\r\n\r\nThis package facilitates the creation and rendering of graph descriptions in\r\nthe DOT_ language of the Graphviz_ graph drawing software (`upstream repo`_)\r\nfrom Python.\r\n\r\nCreate a graph object, assemble the graph by adding nodes and edges, and\r\nretrieve its DOT source code string. Save the source code to a file and render\r\nit with the Graphviz installation of your system.\r\n\r\nUse the ``view`` option/method to directly inspect the resulting (PDF, PNG,\r\nSVG, etc.) file with its default application. Graphs can also be rendered\r\nand displayed within `Jupyter notebooks`_ (formerly known as\r\n`IPython notebooks`_,\r\n`example <notebook_>`_, `nbviewer <notebook-nbviewer_>`_)\r\nas well as the `Jupyter QtConsole`_.\r\n\r\n\r\nLinks\r\n-----\r\n\r\n- GitHub: https://github.com/xflr6/graphviz\r\n- PyPI: https://pypi.org/project/graphviz/\r\n- Documentation: https://graphviz.readthedocs.io\r\n- Changelog: https://graphviz.readthedocs.io/en/latest/changelog.html\r\n- Issue Tracker: https://github.com/xflr6/graphviz/issues\r\n- Download: https://pypi.org/project/graphviz/#files\r\n\r\n\r\nInstallation\r\n------------\r\n\r\nThis package runs under Python 3.8+, use pip_ to install:\r\n\r\n.. code:: bash\r\n\r\n    $ pip install graphviz\r\n\r\nTo render the generated DOT source code, you also need to install Graphviz_\r\n(`download page <upstream-download_>`_,\r\n`archived versions <upstream-archived_>`_,\r\n`installation procedure for Windows <upstream-windows_>`_).\r\n\r\nMake sure that the directory containing the ``dot`` executable is on your\r\nsystems' ``PATH``\r\n(sometimes done by the installer;\r\nsetting ``PATH``\r\non `Linux <set-path-linux_>`_,\r\n`Mac <set-path-darwin_>`_,\r\nand `Windows <set-path-windows_>`_).\r\n\r\nAnaconda_: see the conda-forge_ package\r\n`conda-forge/python-graphviz <conda-forge-python-graphviz_>`_\r\n(`feedstock <conda-forge-python-graphviz-feedstock_>`_),\r\nwhich should automatically ``conda install``\r\n`conda-forge/graphviz <conda-forge-graphviz_>`_\r\n(`feedstock <conda-forge-graphviz-feedstock_>`_) as dependency.\r\n\r\n\r\nQuickstart\r\n----------\r\n\r\nCreate a graph object:\r\n\r\n.. code:: python\r\n\r\n    >>> import graphviz  # doctest: +NO_EXE\r\n    >>> dot = graphviz.Digraph(comment='The Round Table')\r\n    >>> dot  #doctest: +ELLIPSIS\r\n    <graphviz.graphs.Digraph object at 0x...>\r\n\r\nAdd nodes and edges:\r\n\r\n.. code:: python\r\n\r\n    >>> dot.node('A', 'King Arthur')  # doctest: +NO_EXE\r\n    >>> dot.node('B', 'Sir Bedevere the Wise')\r\n    >>> dot.node('L', 'Sir Lancelot the Brave')\r\n\r\n    >>> dot.edges(['AB', 'AL'])\r\n    >>> dot.edge('B', 'L', constraint='false')\r\n\r\nCheck the generated source code:\r\n\r\n.. code:: python\r\n\r\n    >>> print(dot.source)  # doctest: +NORMALIZE_WHITESPACE +NO_EXE\r\n    // The Round Table\r\n    digraph {\r\n        A [label=\"King Arthur\"]\r\n        B [label=\"Sir Bedevere the Wise\"]\r\n        L [label=\"Sir Lancelot the Brave\"]\r\n        A -> B\r\n        A -> L\r\n        B -> L [constraint=false]\r\n    }\r\n\r\nSave and render the source code (skip/ignore any ``doctest_mark_exe()`` lines):\r\n\r\n.. code:: python\r\n\r\n    >>> doctest_mark_exe()  # skip this line\r\n\r\n    >>> dot.render('doctest-output/round-table.gv').replace('\\\\', '/')\r\n    'doctest-output/round-table.gv.pdf'\r\n\r\nSave and render and view the result:\r\n\r\n.. code:: python\r\n\r\n    >>> doctest_mark_exe()  # skip this line\r\n\r\n    >>> dot.render('doctest-output/round-table.gv', view=True)  # doctest: +SKIP\r\n    'doctest-output/round-table.gv.pdf'\r\n\r\n.. image:: https://raw.github.com/xflr6/graphviz/master/docs/_static/round-table.svg\r\n    :align: center\r\n    :alt: round-table.svg\r\n\r\n**Caveat:**\r\nBackslash-escapes and strings of the form ``<...>``\r\nhave a special meaning in the DOT language.\r\nIf you need to render arbitrary strings (e.g. from user input),\r\ncheck the details in the `user guide`_.\r\n\r\n\r\nSee also\r\n--------\r\n\r\n- pygraphviz_ |--| full-blown interface wrapping the Graphviz C library with SWIG\r\n- graphviz-python_ |--| official Python bindings\r\n  (`documentation <graphviz-python-docs_>`_)\r\n- pydot_ |--| stable pure-Python approach, requires pyparsing\r\n\r\n\r\nLicense\r\n-------\r\n\r\nThis package is distributed under the `MIT license`_.\r\n\r\n\r\nDevelopment\r\n-----------\r\n\r\n- Development documentation: https://graphviz.readthedocs.io/en/latest/development.html\r\n- Release process: https://graphviz.readthedocs.io/en/latest/release_process.html\r\n\r\n\r\n.. _Graphviz:  https://www.graphviz.org\r\n.. _DOT: https://www.graphviz.org/doc/info/lang.html\r\n.. _upstream repo: https://gitlab.com/graphviz/graphviz/\r\n.. _upstream-download: https://www.graphviz.org/download/\r\n.. _upstream-archived: https://www2.graphviz.org/Archive/stable/\r\n.. _upstream-windows: https://forum.graphviz.org/t/new-simplified-installation-procedure-on-windows/224\r\n\r\n.. _set-path-windows: https://www.computerhope.com/issues/ch000549.htm\r\n.. _set-path-linux: https://stackoverflow.com/questions/14637979/how-to-permanently-set-path-on-linux-unix\r\n.. _set-path-darwin: https://stackoverflow.com/questions/22465332/setting-path-environment-variable-in-osx-permanently\r\n\r\n.. _pip: https://pip.pypa.io\r\n\r\n.. _Jupyter notebooks: https://jupyter.org\r\n.. _IPython notebooks: https://ipython.org/notebook.html\r\n.. _Jupyter QtConsole: https://qtconsole.readthedocs.io\r\n\r\n.. _notebook: https://github.com/xflr6/graphviz/blob/master/examples/graphviz-notebook.ipynb\r\n.. _notebook-nbviewer: https://nbviewer.org/github/xflr6/graphviz/blob/master/examples/graphviz-notebook.ipynb\r\n\r\n.. _Anaconda: https://docs.anaconda.com/anaconda/install/\r\n.. _conda-forge: https://conda-forge.org\r\n.. _conda-forge-python-graphviz: https://anaconda.org/conda-forge/python-graphviz\r\n.. _conda-forge-python-graphviz-feedstock: https://github.com/conda-forge/python-graphviz-feedstock\r\n.. _conda-forge-graphviz: https://anaconda.org/conda-forge/graphviz\r\n.. _conda-forge-graphviz-feedstock: https://github.com/conda-forge/graphviz-feedstock\r\n\r\n.. _user guide: https://graphviz.readthedocs.io/en/stable/manual.html\r\n\r\n.. _pygraphviz: https://pypi.org/project/pygraphviz/\r\n.. _graphviz-python: https://pypi.org/project/graphviz-python/\r\n.. _graphviz-python-docs: https://www.graphviz.org/pdf/gv.3python.pdf\r\n.. _pydot: https://pypi.org/project/pydot/\r\n\r\n.. _MIT license: https://opensource.org/licenses/MIT\r\n\r\n\r\n.. |--| unicode:: U+2013\r\n\r\n\r\n.. |PyPI version| image:: https://img.shields.io/pypi/v/graphviz.svg\r\n    :target: https://pypi.org/project/graphviz/\r\n    :alt: Latest PyPI Version\r\n.. |License| image:: https://img.shields.io/pypi/l/graphviz.svg\r\n    :target: https://github.com/xflr6/graphviz/blob/master/LICENSE.txt\r\n    :alt: License\r\n.. |Supported Python| image:: https://img.shields.io/pypi/pyversions/graphviz.svg\r\n    :target: https://pypi.org/project/graphviz/\r\n    :alt: Supported Python Versions\r\n.. |Wheel| image:: https://img.shields.io/pypi/wheel/graphviz.svg\r\n    :target: https://pypi.org/project/graphviz/#files\r\n    :alt: Wheel format\r\n.. |Downloads| image::  https://img.shields.io/pypi/dm/graphviz.svg\r\n    :target: https://pypistats.org/packages/graphviz\r\n    :alt: Monthly downloads\r\n\r\n.. |Build| image:: https://github.com/xflr6/graphviz/actions/workflows/build.yaml/badge.svg?branch=master\r\n    :target: https://github.com/xflr6/graphviz/actions/workflows/build.yaml?query=branch%3Amaster\r\n    :alt: Build\r\n.. |Codecov| image:: https://codecov.io/gh/xflr6/graphviz/branch/master/graph/badge.svg\r\n    :target: https://codecov.io/gh/xflr6/graphviz\r\n    :alt: Codecov\r\n.. |Readthedocs-stable| image:: https://readthedocs.org/projects/graphviz/badge/?version=stable\r\n    :target: https://graphviz.readthedocs.io/en/stable/\r\n    :alt: Readthedocs (stable)\r\n.. |Readthedocs-latest| image:: https://readthedocs.org/projects/graphviz/badge/?version=latest\r\n    :target: https://graphviz.readthedocs.io/en/latest/\r\n    :alt: Readthedocs (latest)\r\n\r\n.. |Binder-stable| image:: https://img.shields.io/badge/launch-binder%20(stable)-579ACA.svg?logo=data:image/png;base64,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\r\n    :target: https://mybinder.org/v2/gh/xflr6/graphviz/stable\r\n    :alt: Binder (stable)\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Simple Python interface for Graphviz",
    "version": "0.20.3",
    "project_urls": {
        "CI": "https://github.com/xflr6/graphviz/actions",
        "Changelog": "https://graphviz.readthedocs.io/en/latest/changelog.html",
        "Coverage": "https://codecov.io/gh/xflr6/graphviz",
        "Documentation": "https://graphviz.readthedocs.io",
        "Homepage": "https://github.com/xflr6/graphviz",
        "Issue Tracker": "https://github.com/xflr6/graphviz/issues"
    },
    "split_keywords": [
        "graph",
        "visualization",
        "dot",
        "render"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "00bed59db2d1d52697c6adc9eacaf50e8965b6345cc143f671e1ed068818d5cf",
                "md5": "23ff8ba853d638953911b2c22cba526e",
                "sha256": "81f848f2904515d8cd359cc611faba817598d2feaac4027b266aa3eda7b3dde5"
            },
            "downloads": -1,
            "filename": "graphviz-0.20.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "23ff8ba853d638953911b2c22cba526e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 47126,
            "upload_time": "2024-03-21T07:50:43",
            "upload_time_iso_8601": "2024-03-21T07:50:43.091696Z",
            "url": "https://files.pythonhosted.org/packages/00/be/d59db2d1d52697c6adc9eacaf50e8965b6345cc143f671e1ed068818d5cf/graphviz-0.20.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fa835a40d19b8347f017e417710907f824915fba411a9befd092e52746b63e9f",
                "md5": "b7c6caf06c0badc770b187645519ea28",
                "sha256": "09d6bc81e6a9fa392e7ba52135a9d49f1ed62526f96499325930e87ca1b5925d"
            },
            "downloads": -1,
            "filename": "graphviz-0.20.3.zip",
            "has_sig": false,
            "md5_digest": "b7c6caf06c0badc770b187645519ea28",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 256455,
            "upload_time": "2024-03-21T07:50:45",
            "upload_time_iso_8601": "2024-03-21T07:50:45.772238Z",
            "url": "https://files.pythonhosted.org/packages/fa/83/5a40d19b8347f017e417710907f824915fba411a9befd092e52746b63e9f/graphviz-0.20.3.zip",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-21 07:50:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "xflr6",
    "github_project": "graphviz",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "tox": true,
    "lcname": "graphviz"
}
        
Elapsed time: 0.23819s