xdot-rs


Namexdot-rs JSON
Version 0.2.3 PyPI version JSON
download
home_page
SummaryParse graphviz’ xdot draw instructions
upload_time2023-04-20 15:46:08
maintainer
docs_urlNone
authorPhilipp A. <flying-sheep@web.de>
requires_python>= 3.8
licenseGPL-3.0
keywords graphviz graph
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![CI](https://github.com/flying-sheep/xdot-rust/actions/workflows/rust.yml/badge.svg)](https://github.com/flying-sheep/xdot-rust/actions/workflows/rust.yml)
[![docs.rs](https://img.shields.io/docsrs/xdot)](https://docs.rs/xdot/latest/xdot/)
[![Crates.io](https://img.shields.io/crates/v/xdot)](https://crates.io/crates/xdot)
[![PyPI](https://img.shields.io/pypi/v/xdot-rs)](https://pypi.org/project/xdot-rs/)

xdot
====

The main function of this package is `parse`.
It parses node/edge attributes on graphviz graphs created by [`xdot`](https://graphviz.org/docs/attr-types/xdot/) into drawable shapes.

```rust
use xdot::{parse, ShapeDraw};
let shapes: Vec<ShapeDraw> = parse("c 7 -#ff0000 p 4 4 4 36 4 36 36 4 36");
```

Each `ShapeDraw` struct contains a `shape` with geometry and a `pen` with drawing attributes (such as color, line style, and font).
If you have the `layout` feature active, you can also use `layout_and_draw_graph` (and `draw_graph`):

```rust
use graphviz_rust::parse;
use graphviz_rust::dot_structures::Graph;
use xdot::{layout_and_draw_graph, ShapeDraw};

let graph: Graph = parse("graph { a -- b}").unwrap();
let shapes: Vec<ShapeDraw> = layout_and_draw_graph(graph).unwrap();
```

Release process
---------------

1. A commit to `main` causes creation or update of a release PR. ([`release` workflow](https://github.com/flying-sheep/xdot-rust/actions/workflows/release.yml))
2. Merging a release PR causes the creation of a Git tag and GitHub release, and the upload of a Rust crate to [crates.io](https://crates.io).(also `release` workflow)
3. Publishing this GitHub release in turn triggers building and uploading a Python package. ([`publish` workflow](https://github.com/flying-sheep/xdot-rust/actions/workflows/publish.yml))


            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "xdot-rs",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">= 3.8",
    "maintainer_email": "",
    "keywords": "graphviz,graph",
    "author": "Philipp A. <flying-sheep@web.de>",
    "author_email": "Philipp A. <flying-sheep@web.de>",
    "download_url": "",
    "platform": null,
    "description": "[![CI](https://github.com/flying-sheep/xdot-rust/actions/workflows/rust.yml/badge.svg)](https://github.com/flying-sheep/xdot-rust/actions/workflows/rust.yml)\n[![docs.rs](https://img.shields.io/docsrs/xdot)](https://docs.rs/xdot/latest/xdot/)\n[![Crates.io](https://img.shields.io/crates/v/xdot)](https://crates.io/crates/xdot)\n[![PyPI](https://img.shields.io/pypi/v/xdot-rs)](https://pypi.org/project/xdot-rs/)\n\nxdot\n====\n\nThe main function of this package is `parse`.\nIt parses node/edge attributes on graphviz graphs created by [`xdot`](https://graphviz.org/docs/attr-types/xdot/) into drawable shapes.\n\n```rust\nuse xdot::{parse, ShapeDraw};\nlet shapes: Vec<ShapeDraw> = parse(\"c 7 -#ff0000 p 4 4 4 36 4 36 36 4 36\");\n```\n\nEach `ShapeDraw` struct contains a `shape` with geometry and a `pen` with drawing attributes (such as color, line style, and font).\nIf you have the `layout` feature active, you can also use `layout_and_draw_graph` (and `draw_graph`):\n\n```rust\nuse graphviz_rust::parse;\nuse graphviz_rust::dot_structures::Graph;\nuse xdot::{layout_and_draw_graph, ShapeDraw};\n\nlet graph: Graph = parse(\"graph { a -- b}\").unwrap();\nlet shapes: Vec<ShapeDraw> = layout_and_draw_graph(graph).unwrap();\n```\n\nRelease process\n---------------\n\n1. A commit to `main` causes creation or update of a release PR. ([`release` workflow](https://github.com/flying-sheep/xdot-rust/actions/workflows/release.yml))\n2. Merging a release PR causes the creation of a Git tag and GitHub release, and the upload of a Rust crate to [crates.io](https://crates.io).(also `release` workflow)\n3. Publishing this GitHub release in turn triggers building and uploading a Python package. ([`publish` workflow](https://github.com/flying-sheep/xdot-rust/actions/workflows/publish.yml))\n\n",
    "bugtrack_url": null,
    "license": "GPL-3.0",
    "summary": "Parse graphviz\u2019 xdot draw instructions",
    "version": "0.2.3",
    "split_keywords": [
        "graphviz",
        "graph"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "67b1ab7736211a8a1120e4bfe6f5b26178b0f4c8e69a1496581c37e71c743fb5",
                "md5": "522be65c16c8572c7441c5006630fa6d",
                "sha256": "e66ec71748f20560feaabd31853e35e655c4b0ba1dcf5d5689b0a7df3b1b9909"
            },
            "downloads": -1,
            "filename": "xdot_rs-0.2.3-cp310-cp310-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "522be65c16c8572c7441c5006630fa6d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">= 3.8",
            "size": 1191054,
            "upload_time": "2023-04-20T15:46:08",
            "upload_time_iso_8601": "2023-04-20T15:46:08.680713Z",
            "url": "https://files.pythonhosted.org/packages/67/b1/ab7736211a8a1120e4bfe6f5b26178b0f4c8e69a1496581c37e71c743fb5/xdot_rs-0.2.3-cp310-cp310-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5fa6d92d60ceb071234fa230cf0ef5dacf52f6b99ef9d9d430cb930a3b18cc2d",
                "md5": "afa25d61670040590f5fddeda3f3f81a",
                "sha256": "b8b27c473d49c8b4022fd8c5ce70862a9318ee78c6d738059838a6597533e9bc"
            },
            "downloads": -1,
            "filename": "xdot_rs-0.2.3-cp311-cp311-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "afa25d61670040590f5fddeda3f3f81a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">= 3.8",
            "size": 1191041,
            "upload_time": "2023-04-20T15:46:10",
            "upload_time_iso_8601": "2023-04-20T15:46:10.145106Z",
            "url": "https://files.pythonhosted.org/packages/5f/a6/d92d60ceb071234fa230cf0ef5dacf52f6b99ef9d9d430cb930a3b18cc2d/xdot_rs-0.2.3-cp311-cp311-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "855618da42bd1a8473310dcb763b64954cfdf01afa8f11124d57e20204ee0124",
                "md5": "03fc8c7b3728ff88a552ce341d177f92",
                "sha256": "e51554059d07ee3b3187cbd0ffe15e5582cff54d071838b6b2fb258571e690ed"
            },
            "downloads": -1,
            "filename": "xdot_rs-0.2.3-cp38-cp38-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "03fc8c7b3728ff88a552ce341d177f92",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">= 3.8",
            "size": 1191534,
            "upload_time": "2023-04-20T15:46:12",
            "upload_time_iso_8601": "2023-04-20T15:46:12.430524Z",
            "url": "https://files.pythonhosted.org/packages/85/56/18da42bd1a8473310dcb763b64954cfdf01afa8f11124d57e20204ee0124/xdot_rs-0.2.3-cp38-cp38-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bb193ead0c70ab81003a928f6a8f81eb8336afcd8bfe3f6d7470fdf7b5b363b6",
                "md5": "fea486d339abbf904d885e093ec2d590",
                "sha256": "0be52f53cfe664666930247123947c15b9b8ef41e1403719828f4dd136744116"
            },
            "downloads": -1,
            "filename": "xdot_rs-0.2.3-cp39-cp39-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fea486d339abbf904d885e093ec2d590",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">= 3.8",
            "size": 1191492,
            "upload_time": "2023-04-20T15:46:14",
            "upload_time_iso_8601": "2023-04-20T15:46:14.338933Z",
            "url": "https://files.pythonhosted.org/packages/bb/19/3ead0c70ab81003a928f6a8f81eb8336afcd8bfe3f6d7470fdf7b5b363b6/xdot_rs-0.2.3-cp39-cp39-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-04-20 15:46:08",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "xdot-rs"
}
        
Elapsed time: 0.05547s