Skip to main content

Pyrigi Logo

PyRigi documentation MIT license python Black code style

networkx numpy sympy

PyRigi is a Python package for research in rigidity and flexibility of bar-and-joint frameworks. We aim at providing a tool for investigating combinatorial and geometric questions such as infinitesimal, global, minimal, or generic rigidity. An article explaining the functionality and internal structure of PyRigi is freely available here.

We use NetworkX for graph theory, SymPy for symbolic and NumPy for numerical computations. We acknowledge these and all the other open-source projects upon which PyRigi is based.

Installation and usage

To install the latest stable version of PyRigi, run:

pip install pyrigi

Once installed, you can start using it with:

from pyrigi import Graph, Framework

For more details, we refer to the Getting started guide in the documentation. The development version is available on the dev branch in this GitHub repository.

Documentation

The documentation of the latest stable version is available online. For compiling it locally, see the development guide.

An important part of the documentation is the mathematical background. We specify the outputs of the methods in the package by providing rigorous mathematical definitions.

Questions and feature requests

We have a Zulip chat, where you can ask questions or propose new functionality. If you want to get access to it, please send an email to this address. You can also use the GitHub Discussions.

To report bugs or ask for new features, please create an issue.

Contributing

We appreciate contributions! Do you have a research result about rigidity or flexibility of bar-joint frameworks that could be implemented? Let us know! Or even better, implement it and contribute to the package!

Besides coding, you can also help for instance by extending the mathematical documentation or creating tutorials.

If you want to contribute, please, read the development guide and contact us.

License

The package is licensed under the MIT license.

The PyRigi Developers

See the complete list of contributors.

The current maintainers of the project are:

Matthias Adrian-Himmelmann
Matteo Gallet
Georg Grasegger
Jan Legerský

The decision to create PyRigi was made by the participants of the workshop Code of Rigidity (March 11–15, 2024), which was part of the Special Semester on Rigidity and Flexibility at RICAM, Linz, Austria.

Citing PyRigi

If you would like to cite PyRigi, please use the following reference:

Matthias Adrian-Himmelmann, Matteo Gallet, Georg Grasegger, and Jan Legerský. PyRigi – a general-purpose Python package for the rigidity and flexibility of bar-and-joint frameworks, 2026, ACM Transactions on Mathematical Software. doi:10.1145/3815171.

@article{pyrigi,
      title = {{PyRigi -- a general-purpose Python package for the rigidity and flexibility of bar-and-joint frameworks}},
      author = {Matthias Adrian-Himmelmann and Matteo Gallet and Georg Grasegger and Jan Legerský},
      year = {2026},
      doi = {10.1145/3815171},
      journal = {ACM Transactions on Mathematical Software},
}

Metadata

Release files for pyrigi 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyrigi 1.3.0
File Size Uploaded
pyrigi-1.3.0.tar.gz 132.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyrigi 1.3.0
File Interpreter ABI Platform
pyrigi-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 299.2 kB

Release files / pyrigi-1.3.0.tar.gz

Download URL pyrigi-1.3.0.tar.gz
Size 132.3 kB
Tags Source
SHA-256 checksum
How to use checksums
2d68714dda116ed6d6c9e3238b2c143910b768e8c024c189ff7f8db6e7802e0a
BLAKE2b-256 checksum
How to use checksums
8009119ba1ee341703707592c569a455c317cd6e8392d33d71166fca21290b73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.

Transparency log

Release files / pyrigi-1.3.0-py3-none-any.whl

Download URL pyrigi-1.3.0-py3-none-any.whl
Size 166.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
12975b17ee8047e33288421c4f11ab7ae910f851c591785f9d2b86d323f9f39a
BLAKE2b-256 checksum
How to use checksums
48621dd27e3f5443b14e7015d62d0627295ac61620d9a5ef03e762af79fc97ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page