Skip to content

Self-contained Python packages of the low-dimensional topology software Regina, installable off PyPI using pip.

Notifications You must be signed in to change notification settings

3-manifolds/regina_wheels

 
 

Repository files navigation

Self-contained Python packages of Regina

The program Regina is a powerful tool for studying low-dimensional topology. It comes with a full Python interface that lets one interact with it programmatically without writing any C++ code. Our goal here is to provide self-contained binaries ("wheels") of Regina's Python package that can be installed in seconds from Python's PyPI package repository using pip.

The current version is somewhat experimental and is based on a pre-release version of Regina; it is offered for macOS (10.14 and newer) and Linux, but not Windows. To try it out, do:

python3 -m pip install --user --upgrade "regina>=7.0"
python3 -m regina.test

On older versions of Linux, e.g. Ubuntu 18.04, you may need to update pip first via:

python3 -m pip install --user --upgrade pip wheel

For more on using Regina in Python see the main docs.

These binaries are produced and maintained by Marc Culler, Nathan Dunfield, and Matthias Goerner, though of course 99.9% of the code and credit is due to Ben Burton and the other authors of Regina itself. This project evolved out of Goerner's sageRegina but works both with and without SageMath. To install and test in SageMath do the following in a terminal window:

sage -pip install --user --upgrade "regina>=7.0"
sage -python -m regina.test

One can also do this from inside SageMath (including from a notebook) by:

sage: %pip install --user "regina>=7.0"
sage: import regina.test; regina.test.runTests()

Please report any technical problems via the issue tracker on the GitHub site devoted to this repackaging of Regina.

Building from source

If the available binaries do not work for you, you can try building from source. You will need have the development versions of the libraries gmp, zlib, and bzip2 installed:

git clone https://github.com/3-manifolds/regina_wheel
cd regina_wheel
python3 setup.py package_assemble
python3 setup.py bdist_wheel
python3 -m pip install dist/regina*.whl

This can easily take an hour or more.

License

Copyright Ben Burton, Ryan Budney, William Pettersson, Marc Culler, Nathan M. Dunfield, Matthias Goerner, and others 1999-present. This code is released under the GNU General Public License, version 2 or (at your option) any later version as published by the Free Software Foundation.

About

Self-contained Python packages of the low-dimensional topology software Regina, installable off PyPI using pip.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 55.9%
  • C 37.7%
  • C++ 3.4%
  • Shell 3.0%