ugraph


Nameugraph JSON
Version 0.75.0 PyPI version JSON
download
home_pagehttps://github.com/WonJayne/ugraph
SummaryNone
upload_time2024-12-18 16:33:47
maintainerNone
docs_urlNone
authorflfuchs tdubach
requires_python<4.0,>=3.10
licenseMIT
keywords graphs igraph typed-graphs visualization
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ugraph

[![PyPI version](https://badge.fury.io/py/ugraph.svg)](https://badge.fury.io/py/ugraph)
[![Downloads](https://pepy.tech/badge/ugraph)](https://pepy.tech/project/ugraph)
![black](https://img.shields.io/badge/code%20style-black-000000.svg)
![isort](https://img.shields.io/badge/%20imports-isort-%231674b1.svg)
![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)
![mypyc](https://img.shields.io/badge/mypy%20checked-100%25-brightgreen)
![flake8](https://img.shields.io/badge/flake8%20checked-100%25-brightgreen)
![pylint](https://img.shields.io/badge/pylint%20checked-100%25-brightgreen)

**Extend your graphs beyond structure—add meaning with `ugraph`.**

`ugraph` builds on [igraph](https://igraph.org/) to provide a powerful way to define and work with custom node and link types in your graphs. This package is ideal for those who need more than just graph structure—it empowers you to combine graph data with rich information via Python dataclasses, and comes with built-in support for JSON storage and 3D visualizations.

_Because your graphs aren't just for you_  
*(igraph → ugraph)*

---

### Why ugraph?

Graphs often represent more than their edges and nodes—they carry data, behaviors, and relationships that need to be understood in context. `ugraph` bridges this gap by enabling:

- **Custom node and link classes**: Add type-safe attributes and behaviors to your graph elements.
- **Data serialization**: Easily save and load your graphs in JSON format for persistence and sharing.
- **3D visualization**: Render interactive, browser-based 3D visualizations in HTML using Plotly.

With `ugraph`, your graphs are as **understandable** and **maintainable** as the data they represent.

---

### Features at a Glance

- **Custom Classes**: Define your nodes and links as Python dataclasses, allowing for type hints, IDE autocompletion, and type checking.
- **Serialization**: Store and reload your networks seamlessly using JSON files.
- **Interactive Visualization**: Generate 3D plots of your graphs in HTML for better insights and presentation.

---

### Disclaimer

`ugraph` is not intended for creating graph figures or visualizations (e.g., bar charts, scatter plots). It is a tool for working with graph data structures (nodes and links) and enhancing their usability.

---

### Installation

Install `ugraph` using pip:

```bash
pip install ugraph
```

(if you want plotting included, use `pip install ugraph[plotting]`)

---

### Quick Start

`ugraph` works similarly to `igraph`, with the added flexibility of custom node and link types. You can define attributes like coordinates, IDs, or any other domain-specific data in a type-safe and Pythonic way.

Explore usage examples in the [examples directory](https://github.com/WonJayne/ugraph/tree/main/src/usage), or start with a [minimal example](https://github.com/WonJayne/ugraph/tree/main/src/usage/minimal_example.py).

---

### Credits

This project builds upon the excellent [igraph](https://igraph.org/) library. We acknowledge and thank the igraph community for their foundational work.

---

### License

See the [LICENSE](LICENSE) file for rights and limitations (MIT).


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/WonJayne/ugraph",
    "name": "ugraph",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": "graphs, igraph, typed-graphs, visualization",
    "author": "flfuchs tdubach",
    "author_email": "flfuchs@student.ethz.ch",
    "download_url": "https://files.pythonhosted.org/packages/a4/36/9232ddf5120914fdb78160f2b883b872016c7c41546b0307ce7861b504b0/ugraph-0.75.0.tar.gz",
    "platform": null,
    "description": "# ugraph\n\n[![PyPI version](https://badge.fury.io/py/ugraph.svg)](https://badge.fury.io/py/ugraph)\n[![Downloads](https://pepy.tech/badge/ugraph)](https://pepy.tech/project/ugraph)\n![black](https://img.shields.io/badge/code%20style-black-000000.svg)\n![isort](https://img.shields.io/badge/%20imports-isort-%231674b1.svg)\n![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)\n![mypyc](https://img.shields.io/badge/mypy%20checked-100%25-brightgreen)\n![flake8](https://img.shields.io/badge/flake8%20checked-100%25-brightgreen)\n![pylint](https://img.shields.io/badge/pylint%20checked-100%25-brightgreen)\n\n**Extend your graphs beyond structure\u2014add meaning with `ugraph`.**\n\n`ugraph` builds on [igraph](https://igraph.org/) to provide a powerful way to define and work with custom node and link types in your graphs. This package is ideal for those who need more than just graph structure\u2014it empowers you to combine graph data with rich information via Python dataclasses, and comes with built-in support for JSON storage and 3D visualizations.\n\n_Because your graphs aren't just for you_  \n*(igraph \u2192 ugraph)*\n\n---\n\n### Why ugraph?\n\nGraphs often represent more than their edges and nodes\u2014they carry data, behaviors, and relationships that need to be understood in context. `ugraph` bridges this gap by enabling:\n\n- **Custom node and link classes**: Add type-safe attributes and behaviors to your graph elements.\n- **Data serialization**: Easily save and load your graphs in JSON format for persistence and sharing.\n- **3D visualization**: Render interactive, browser-based 3D visualizations in HTML using Plotly.\n\nWith `ugraph`, your graphs are as **understandable** and **maintainable** as the data they represent.\n\n---\n\n### Features at a Glance\n\n- **Custom Classes**: Define your nodes and links as Python dataclasses, allowing for type hints, IDE autocompletion, and type checking.\n- **Serialization**: Store and reload your networks seamlessly using JSON files.\n- **Interactive Visualization**: Generate 3D plots of your graphs in HTML for better insights and presentation.\n\n---\n\n### Disclaimer\n\n`ugraph` is not intended for creating graph figures or visualizations (e.g., bar charts, scatter plots). It is a tool for working with graph data structures (nodes and links) and enhancing their usability.\n\n---\n\n### Installation\n\nInstall `ugraph` using pip:\n\n```bash\npip install ugraph\n```\n\n(if you want plotting included, use `pip install ugraph[plotting]`)\n\n---\n\n### Quick Start\n\n`ugraph` works similarly to `igraph`, with the added flexibility of custom node and link types. You can define attributes like coordinates, IDs, or any other domain-specific data in a type-safe and Pythonic way.\n\nExplore usage examples in the [examples directory](https://github.com/WonJayne/ugraph/tree/main/src/usage), or start with a [minimal example](https://github.com/WonJayne/ugraph/tree/main/src/usage/minimal_example.py).\n\n---\n\n### Credits\n\nThis project builds upon the excellent [igraph](https://igraph.org/) library. We acknowledge and thank the igraph community for their foundational work.\n\n---\n\n### License\n\nSee the [LICENSE](LICENSE) file for rights and limitations (MIT).\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": null,
    "version": "0.75.0",
    "project_urls": {
        "Documentation": "https://github.com/WonJayne/ugraph/blob/main/README.md",
        "Homepage": "https://github.com/WonJayne/ugraph",
        "Repository": "https://github.com/WonJayne/ugraph"
    },
    "split_keywords": [
        "graphs",
        " igraph",
        " typed-graphs",
        " visualization"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b748171658c23506749cc3ad2a5a74e2e1eb1f682d222410fc97e58607bb30f9",
                "md5": "1b837686d2da941f96f330966e936c5e",
                "sha256": "937f79a00e43d35a9fe20f84169e963660928a003f78744ebedeed78720df6d0"
            },
            "downloads": -1,
            "filename": "ugraph-0.75.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1b837686d2da941f96f330966e936c5e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 16112,
            "upload_time": "2024-12-18T16:33:44",
            "upload_time_iso_8601": "2024-12-18T16:33:44.501566Z",
            "url": "https://files.pythonhosted.org/packages/b7/48/171658c23506749cc3ad2a5a74e2e1eb1f682d222410fc97e58607bb30f9/ugraph-0.75.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a4369232ddf5120914fdb78160f2b883b872016c7c41546b0307ce7861b504b0",
                "md5": "dcb377710752aedea527f8062e310f7e",
                "sha256": "bcb936049a762a6034f9af5aca7936e83726016fd103bd5909d80a0edbde74ce"
            },
            "downloads": -1,
            "filename": "ugraph-0.75.0.tar.gz",
            "has_sig": false,
            "md5_digest": "dcb377710752aedea527f8062e310f7e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 14321,
            "upload_time": "2024-12-18T16:33:47",
            "upload_time_iso_8601": "2024-12-18T16:33:47.534865Z",
            "url": "https://files.pythonhosted.org/packages/a4/36/9232ddf5120914fdb78160f2b883b872016c7c41546b0307ce7861b504b0/ugraph-0.75.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-18 16:33:47",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "WonJayne",
    "github_project": "ugraph",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "ugraph"
}
        
Elapsed time: 0.45847s