Skip to main content

Python package concerning the rigidity and flexibility of bar-and-joint frameworks.

Project description

PyRigi documentation MIT license Black code style

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.

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

Installation and usage

We have not reached a stable version yet. Hence, the current usage is to clone/download the package from this GitHub repository. In the root folder of the package, it can be used by

from pyrigi import Graph, Framework

In the future, we will enable installation via pip.

Documentation

The documentation of the main branch 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

The current maintainers of the project are:

Matteo Gallet
Georg Grasegger
Matthias Himmelmann
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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyrigi-0.2.0.tar.gz (26.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyrigi-0.2.0-py3-none-any.whl (27.2 kB view details)

Uploaded Python 3

File details

Details for the file pyrigi-0.2.0.tar.gz.

File metadata

  • Download URL: pyrigi-0.2.0.tar.gz
  • Upload date:
  • Size: 26.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pyrigi-0.2.0.tar.gz
Algorithm Hash digest
SHA256 98fe159f58b35f5a89cb508a6de85607e60ac5adab5dfd3f2fbd9296671da678
MD5 49c566b3fa3825562d9e883a0929603b
BLAKE2b-256 bb8eed1dcf1b642e26ff80fb7a848e7e9cf5ee91a95d360f3670c0cbed1d2952

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrigi-0.2.0.tar.gz:

Publisher: python-publish.yml on PyRigi/PyRigi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrigi-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pyrigi-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 27.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pyrigi-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a649f52ac254ae69e98cfd76961ff4853d331237d6bb54b97a54f37d60a60205
MD5 216a5c982ba55182a440164ef0d3bdc2
BLAKE2b-256 6539231063237fb24fda2a554a9d40df8a5d29def9f85bea64f24abdcb3f8615

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrigi-0.2.0-py3-none-any.whl:

Publisher: python-publish.yml on PyRigi/PyRigi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page