Metadata-Version: 2.1
Name: ugraph
Version: 0.0.421
Summary: 
Home-page: https://github.com/WonJayne/ugraph
License: MIT
Keywords: graphs,igraph,typed-graphs,visualization
Author: flfuchs
Author-email: flfuchs@student.ethz.ch
Requires-Python: >=3.10,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Provides-Extra: plotting
Requires-Dist: igraph (>=0.11.8,<0.12.0)
Requires-Dist: plotly (>=5.24.1,<6.0.0) ; extra == "plotting"
Requires-Dist: pycairo (==1.21.0)
Project-URL: Documentation, https://github.com/WonJayne/ugraph/blob/main/README.md
Project-URL: Repository, https://github.com/WonJayne/ugraph
Description-Content-Type: text/markdown

# 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)


Extending [igraph](https://igraph.org/) to support defining custom classes for links and nodes in a graph.

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


Enhance the **understandability** and **maintainability** of your graphs by defining custom classes for nodes and links. `ugraph` is a wrapper around `igraph`.

#### Installation

Install `ugraph` via pip:

```bash
pip install ugraph
```

#### Usage
Generally, `ugraph` can be used as a replacement for `igraph`. The main difference is that `ugraph` allows you to define custom classes for nodes and links in a graph.
This is useful when you want to store additional information about nodes and links in a graph. Since you are using custom classes (dataclasses) you can benefit from type hints and IDE autocompletion, as well as type checking.

There are some examples on how to use `ugraph` in the [usage](https://github.com/WonJayne/ugraph/tree/main/src/usage) directory.

#### 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 license rights and limitations (MIT).
