Name

regina-python — Regina's command-line Python interface

Synopsis

regina-python [[-q, --quiet] | [-v, --verbose]] [-n, --nolibs] [-a, --noautoimport]

regina-python [[-q, --quiet] | [-v, --verbose]] [-n, --nolibs] [-a, --noautoimport] [-i, --interactive] {script} [script-args]

Description

Regina is a software package for 3-manifold and 4-manifold topologists, with a focus on triangulations, knots and links, normal surfaces, and angle structures. For 3-manifolds, it includes high-level tasks such as 3-sphere and unknot recognition, connected sum decomposition and Hakenness testing, comes with a rich database of census manifolds, and incorporates the SnapPea kernel for working with hyperbolic manifolds. For 4-manifolds, it offers a range of combinatorial and algebraic tools, plus support for normal hypersurfaces. For knots and links, Regina can perform combinatorial manipulation, compute knot polynomials, and work with several import/export formats. Regina comes with a full graphical user interface, as well as Python bindings and a low-level C++ programming interface.

This command starts an interactive Python session for Regina. This will be a command-line Python session, with direct text input/output and no graphical user interface. All of the objects, clases and methods from Regina's mathematical engine will be made available through the module regina, which will be imported on startup (effectively running import regina). Moreover, unless the option --noautoimport is passed, all of Regina's objects, classes and methods will be imported directly into the current namespace (effectively running from regina import *).

Instead of starting an interactive Python session, you can pass a Python script (with arguments if desired). In this case Regina will run the script (after first importing the regina module). If you pass --interactive, Regina will leave you at a Python prompt once the script finishes; otherwise it will exit Python and return you to the command line.

Options

-q, --quiet

Start in quiet mode. No output will be produced except for serious errors. In particular, warnings will be suppressed.

This is equivalent to setting the environment variable REGINA_VERBOSITY=0.

-v, --verbose

Start in verbose mode. Additional diagnostic information will be output.

This is equivalent to setting the environment variable REGINA_VERBOSITY=2.

-a, --noautoimport

Still import the regina module, but do not automatically import all of Regina's objects, classes and methods into the current namespace (that is, do not run from regina import *). This means that (for example) the main 3-manifold triangulation class must be accessed as regina.Triangulation3, not just Triangulation3.

-i, --interactive

Run the script in interactive mode. After executing the given script, Regina will leave you in the Python interpreter to run your own additional commands.

This option is only available when a script is passed. If no script is passed, regina-python will always start in interactive mode.

Environment Variables

The following environment variables influence the behaviour of this program. Most variables can also be set in the local configuration file ~/.regina-python using a line of the form option=value; exceptions are noted below. Environment variables take precedence over values in the configuration file.

REGINA_VERBOSITY

Specifies how much output should be generated. Recognised values are:

0

Display errors only; this is equivalent to passing the option --quiet.

1

Display errors and warnings; this is the default.

2

Display errors, warnings and diagnostic output; this is equivalent to passing the option --verbose.

REGINA_PYTHON

The command used to start the Python interpreter.

In general you should use the same version of Python that Regina was built against; otherwise Python might not be able to load the regina module.

Normally you should not need to set this option yourself. By default, Regina will use the same Python installation that it was built against.

REGINA_PYLIBDIR

The directory containing the Python module regina.

If you have installed Regina's Python module in a standard Python location (i.e., Python can import it directly without extending sys.path), then REGINA_PYLIBDIR should be left empty or undefined.

Normally you should not need to set this option yourself. This program should know how to find Regina's Python module in standard situations, which include fixed filesystem installations (e.g., GNU/Linux and Windows), relocatable app bundles (e.g., macOS), and running directly from the source tree.

REGINA_HOME

The directory beneath which Regina's data files are installed. In particular, Regina's census lookup routines will look for the census databases in the subdirectory $REGINA_HOME/data/census/.

This option can only be set from the environment: it cannot be set in the configuration file ~/.regina-python.

Normally you should not need to set this option yourself. This program should know how to find its data files in standard situations, which include fixed filesystem installations (e.g., GNU/Linux and Windows), relocatable app bundles (e.g., macOS), and running directly from the source tree.

macOS Users

If you downloaded a drag-and-drop app bundle, this utility is shipped inside it. If you dragged Regina to the main Applications folder, you can run it as /Applications/Regina.app/Contents/MacOS/regina-python.

Windows Users

The command regina-python is not available under Windows. However, you can still use Python scripting in Regina's graphical user interface, by opening a graphical Python console or using script packets.

See Also

regina-gui.

Regina comes with thorough API documentation, which describes in detail all of the objects, classes and methods that Regina makes available to Python. You can access this documentation via HelpPython API Reference in the graphical user interface, or read it online at regina-normal.github.io.

Author

Many people have been involved in the development of Regina; see the acknowledgements page for a full list of credits.