graphreveal


Namegraphreveal JSON
Version 0.2.0 PyPI version JSON
download
home_pageNone
SummarySmall graphs database and search system
upload_time2025-01-13 18:39:21
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords database graph-theory graphs
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # GraphReveal

[![PyPI - Version](https://img.shields.io/pypi/v/graphreveal)](https://pypi.org/project/graphreveal/)
[![Test](https://github.com/mdbrnowski/GraphReveal/actions/workflows/test.yml/badge.svg)](https://github.com/mdbrnowski/GraphReveal/actions/workflows/test.yml)

Have you ever needed an example of a graph that, e.g., is Hamiltonian, has exactly 8 vertices, and can be drawn on a plane without intersecting edges? Or wondered how many graphs of size 10 are bipartite, have no isolated vertices, and have exactly two components?

This package aims to answer some of your questions. You can search through all graphs with some reasonable order (currently 9 is the maximum) using a very simple DSL (*domain-specific language*).

## Installation

Make sure that you have Python in a sufficiently recent version. To install the package using `pip`, you can use the following command:

```shell
pip install graphreveal
```

## Basic usage

Firstly, you should create the database:

```shell
graphreveal create-database
```

This process should take less than two seconds and will create a database of graphs with an order no larger than 7. To use a larger database, add `--n 8` or `--n 9` flag to this command.

### Some examples

```shell
graphreveal search "10 edges, bipartite, no isolated vertices, 2 components"
```

```shell
graphreveal search --count "6 vertices, connected"
```

Without `--count`, this command will print a list of graphs in [graph6](https://users.cecs.anu.edu.au/~bdm/data/formats.html) format. You can use [houseofgraphs.org](https://houseofgraphs.org/draw_graph) to visualize them.

### List of available properties

* [int] `vertices` (alternatives: `verts`,`V`, `nodes`)
* [int] `edges` (alternative: `E`)
* [int] `blocks` (alternative: `biconnected components`)
* [int] `components` (alternative: `C`)
* `acyclic` (alternative: `forest`)
* `bipartite`
* `complete`
* `connected`
* `cubic` (alternative: `trivalent`)
* `eulerian` (alternative: `euler`)
* `hamiltonian` (alternative: `hamilton`)
* `no isolated vertices` (alternatives: `no isolated v`, `niv`)
* `planar`
* `regular`
* `tree`

You can also negate these properties using `!` or `not`.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "graphreveal",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "database, graph-theory, graphs",
    "author": null,
    "author_email": "Micha\u0142 Dobranowski <mdbrnowski@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/b5/2c/bf5590c5ee33cde4c31714a9686dea015e967c6f9248e18cb9a7e23a04ae/graphreveal-0.2.0.tar.gz",
    "platform": null,
    "description": "# GraphReveal\n\n[![PyPI - Version](https://img.shields.io/pypi/v/graphreveal)](https://pypi.org/project/graphreveal/)\n[![Test](https://github.com/mdbrnowski/GraphReveal/actions/workflows/test.yml/badge.svg)](https://github.com/mdbrnowski/GraphReveal/actions/workflows/test.yml)\n\nHave you ever needed an example of a graph that, e.g., is Hamiltonian, has exactly 8 vertices, and can be drawn on a plane without intersecting edges? Or wondered how many graphs of size 10 are bipartite, have no isolated vertices, and have exactly two components?\n\nThis package aims to answer some of your questions. You can search through all graphs with some reasonable order (currently 9 is the maximum) using a very simple DSL (*domain-specific language*).\n\n## Installation\n\nMake sure that you have Python in a sufficiently recent version. To install the package using `pip`, you can use the following command:\n\n```shell\npip install graphreveal\n```\n\n## Basic usage\n\nFirstly, you should create the database:\n\n```shell\ngraphreveal create-database\n```\n\nThis process should take less than two seconds and will create a database of graphs with an order no larger than 7. To use a larger database, add `--n 8` or `--n 9` flag to this command.\n\n### Some examples\n\n```shell\ngraphreveal search \"10 edges, bipartite, no isolated vertices, 2 components\"\n```\n\n```shell\ngraphreveal search --count \"6 vertices, connected\"\n```\n\nWithout `--count`, this command will print a list of graphs in [graph6](https://users.cecs.anu.edu.au/~bdm/data/formats.html) format. You can use [houseofgraphs.org](https://houseofgraphs.org/draw_graph) to visualize them.\n\n### List of available properties\n\n* [int] `vertices` (alternatives: `verts`,`V`, `nodes`)\n* [int] `edges` (alternative: `E`)\n* [int] `blocks` (alternative: `biconnected components`)\n* [int] `components` (alternative: `C`)\n* `acyclic` (alternative: `forest`)\n* `bipartite`\n* `complete`\n* `connected`\n* `cubic` (alternative: `trivalent`)\n* `eulerian` (alternative: `euler`)\n* `hamiltonian` (alternative: `hamilton`)\n* `no isolated vertices` (alternatives: `no isolated v`, `niv`)\n* `planar`\n* `regular`\n* `tree`\n\nYou can also negate these properties using `!` or `not`.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Small graphs database and search system",
    "version": "0.2.0",
    "project_urls": {
        "Changelog": "https://github.com/mdbrnowski/GraphReveal/releases",
        "Homepage": "https://github.com/mdbrnowski/GraphReveal",
        "Source": "https://github.com/mdbrnowski/GraphReveal"
    },
    "split_keywords": [
        "database",
        " graph-theory",
        " graphs"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a9de099617a2e10513e71f43d5206dff4b0520563c2a826aeb3474b3cebe7269",
                "md5": "2afdd7f9bbdee106cdf7ec3624ece9d2",
                "sha256": "28828469202b9cb4b34f27f0db7f0d0272e00a6af5b02dc031589e63574f297d"
            },
            "downloads": -1,
            "filename": "graphreveal-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2afdd7f9bbdee106cdf7ec3624ece9d2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 729602,
            "upload_time": "2025-01-13T18:39:17",
            "upload_time_iso_8601": "2025-01-13T18:39:17.473881Z",
            "url": "https://files.pythonhosted.org/packages/a9/de/099617a2e10513e71f43d5206dff4b0520563c2a826aeb3474b3cebe7269/graphreveal-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b52cbf5590c5ee33cde4c31714a9686dea015e967c6f9248e18cb9a7e23a04ae",
                "md5": "ee2284100b9afc00f0b1a286352472d4",
                "sha256": "24e744ee187a1086420c1dd97d27660aaac5969d267b352be71c05a37a4cd7fa"
            },
            "downloads": -1,
            "filename": "graphreveal-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ee2284100b9afc00f0b1a286352472d4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 728393,
            "upload_time": "2025-01-13T18:39:21",
            "upload_time_iso_8601": "2025-01-13T18:39:21.991580Z",
            "url": "https://files.pythonhosted.org/packages/b5/2c/bf5590c5ee33cde4c31714a9686dea015e967c6f9248e18cb9a7e23a04ae/graphreveal-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-13 18:39:21",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "mdbrnowski",
    "github_project": "GraphReveal",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "graphreveal"
}
        
Elapsed time: 0.59847s