Graphviz utility functions.
Project description
Graphviz utility functions.
Latest release 20230816: DOTNodeMixin: new dot_node_attrs_str for transcribing a node attributes list.
See also the [https://www.graphviz.org/documentation/](graphviz documentation)
and particularly the [https://graphviz.org/doc/info/lang.html](DOT language specification)
and the [https://www.graphviz.org/doc/info/command.html](dot
command line tool).
Class DOTNodeMixin
A mixin providing methods for things which can be drawn as nodes in a DOT graph description.
Function gvdata(dot_s, **kw)
Convenience wrapper for gvprint
which returns the binary image data.
Function gvdataurl(dot_s, **kw)
Convenience wrapper for gvprint
which returns the binary image data
as a data:
URL.
Function gvprint(dot_s, file=None, fmt=None, layout=None, dataurl_encoding=None, **dot_kw)
Print the graph specified by dot_s
, a graph in graphViz DOT syntax,
to file
(default sys.stdout
)
in format fmt
using the engine specified by layout
(default 'dot'
).
If fmt
is unspecified it defaults to 'png'
unless file
is a terminal in which case it defaults to 'sixel'
.
In addition to being a file or file descriptor,
file
may also take the following special values:
GVCAPTURE
: causesgvprint
to return the image data asbytes
GVDATAURL
: causesgvprint
to return the image data as adata:
URL
For GVDATAURL
, the parameter dataurl_encoding
may be used
to override the default encoding, which is 'utf8'
for fmt
values 'dot'
and 'svg'
, otherwise 'base64'
.
This uses the graphviz utility dot
to draw graphs.
If printing in SIXEL format the img2sixel
utility is required,
see https://saitoha.github.io/libsixel/.
Example:
data_url = gvprint('digraph FOO {A->B}', file=GVDATAURL, fmt='svg')
Function gvsvg(dot_s, **kw)
Convenience wrapper for gvprint
which returns an SVG string.
Function quote(s)
Quote a string for use in DOT syntax. This implementation passes identifiers and sequences of decimal numerals through unchanged and double quotes other strings.
Release Log
Release 20230816: DOTNodeMixin: new dot_node_attrs_str for transcribing a node attributes list.
Release 20221207: New gvsvg() convenience function to return SVG.
Release 20221118:
- quote: provide escape sequence for newline.
- DOTNodeMixin: provide .dot_node_id property, default
str(id(self))
. - DOTNodeMixin.dot_node: omit [attrs] if they are empty.
- DOTNodeMixin: new .dot_node_palette_key property, new getattr for .dot_node_*color attributes, new empty default DOT_NODE_COLOR_PALETTE and DOT_NODE_FILLCOLOR_PALETTE class attributes.
- DOTNodeMixin.dot_node: include the node label in the attributes.
- Add colours to DOTNodeMixin.dot_node_attrs and fix "fontcolor".
Release 20220827.1: gvprint: new optional parameter dataurl_encoding to specify the data URL encoding.
Release 20220827:
- Remove dependency on cs.lex - now we need only the stdlib.
- New GVCAPTURE value for gvprint(file=) to return the binary image data as a bytes object; associated gvdata() convenience function.
- New GVDATAURL value for gvprint(file=) to return the binary image data as a data URL; associated gvdataurl() convenience function.
Release 20220805.1: New DOTNodeMixin, a mixin for classes which can be rendered as a DOT node.
Release 20220805: Initial PyPI release.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cs.gvutils-20230816.tar.gz
.
File metadata
- Download URL: cs.gvutils-20230816.tar.gz
- Upload date:
- Size: 6.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fcd1bb4cf20406e02c3b234984bb42158cdf9a39f9c7b00ef05381b2c1abc9c |
|
MD5 | 2ebf1606218581e8672b0546a732e105 |
|
BLAKE2b-256 | d396bf0a9affae4e83aac8deac720d6f8470c19bd30cb56c4de1c779abb1175f |
File details
Details for the file cs.gvutils-20230816-py3-none-any.whl
.
File metadata
- Download URL: cs.gvutils-20230816-py3-none-any.whl
- Upload date:
- Size: 6.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbcd1f3f7881bd32820b9588d939209cff5f0527031ea0fcb174e81ee515de7f |
|
MD5 | 26e6ad7a81b7e888920e78485c3049a7 |
|
BLAKE2b-256 | dfabeff414fe03b32e8957f9df57062f2981b49603d63c5e9168cb77c26a2cc4 |