RaGraph#

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.

Quickstart#

Installation#

RaGraph can be installed using pip install ragraph[all] for any Python version >=3.9. Or, for Poetry managed projects, use poetry add ragraph -E all 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 -E all.

Versioning#

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

Changelog#

Changelog format as described by https://keepachangelog.com/ has been adopted and can be reviewed on this page <https://ragraph.ratio-case.nl/changelog.html>.

Tests#

Tests can be run using poetry run pytest.

Linting#

Linting config is included in pyproject.toml for both Black and Ruff.

Contributions and license#

To get contributing, feel free to fork, pick up an issue or file your own and get going for your first merge! We’ll be more than happy to help.

RaPlan is licensed following a dual licensing model. In short, we want to provide anyone that wishes to use our published software under the GNU GPLv3 to do so freely and without any further limitation. The GNU GPLv3 is a strong copyleft license that promotes the distribution of free, open-source software. In that spirit, it requires dependent pieces of software to follow the same route. This might be too restrictive for some. To accommodate users with specific requirements regarding licenses, we offer a proprietary license. The terms can be discussed by reaching out to Ratio.

For the legal translation of this, head to CONTRIBUTING.

Usage#

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