RaGraph is a package to create, manipulate, and analyze graphs consisting of nodes and edges. Nodes usually represent (hierarchies of) objects and edges the dependencies or relationships between them.

These graphs, or networks if you will, lend themselves well to applied analyses like clustering and sequencing, as well as analyses involving the calculation of various insightful metrics.



RaGraph can be installed using pip install ragraph for any Python version >=3.9. Or, for Poetry managed projects, use poetry add ragraph to add it as a dependency.

Using RaGraph#

RaGraph’s primary use is working with Graph objects that contain Nodes and Eges between Nodes. See the usage documentation for more info!

Developer guide#

Python packaging information#

This project is packaged using poetry. Packaging information as well as dependencies are stored in pyproject.toml.

Installing the project and its development dependencies can be done using poetry install.

Invoke tasks#

Most elemental maintenance tasks can be accomplished using [Invoke](https://www.pyinvoke.org/). After installing using poetry install and enabling the environment using poetry shell, you can run all tasks using inv [taskname] or invoke [taskname]. E.g. inv docs builds the documentation.


This project uses semantic versioning. Version increments are checked using Raver.


Changelog format as described by https://keepachangelog.com/ has been adopted.


If you’re looking to read up on the usage of RaGraph, head over to the Usage documentation or head straight into these subsections: