.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "REGINA-PYTHON" "1" "14 March 2023" "" "The Regina Handbook"
.SH NAME
regina-python \- Regina's command-line Python interface
.SH SYNOPSIS
\fBregina-python\fR [ \fB-q, --quiet\fR | \fB-v, --verbose\fR ] [ \fB-n, --nolibs\fR ] [ \fB-a, --noautoimport\fR ]
\fBregina-python\fR [ \fB-q, --quiet\fR | \fB-v, --verbose\fR ] [ \fB-n, --nolibs\fR ] [ \fB-a, --noautoimport\fR ] [ \fB-i, --interactive\fR ] \fB\fIscript\fB\fR [ \fB\fIscript-args\fB\fR ]
.SH "DESCRIPTION"
.PP
Regina is a software package for studying 3-manifold triangulations
and normal surfaces. Other key features include
angle structures, census enumeration, combinatorial
recognition of triangulations, and high-level tasks such as
3-sphere recognition and connected sum decomposition.
Regina comes with a full graphical user interface, and also offers
Python bindings and a low-level C++ programming interface.
.PP
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
\fIregina\fR, which will be imported on startup
(effectively running import regina).
Moreover, unless the option \fB--noautoimport\fR is
passed, all of Regina's objects, classes and methods will be
imported directly into the current namespace
(effectively running
from regina import\~*).
.PP
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
\fIregina\fR module).
If you pass \fB--interactive\fR, Regina will leave you
at a Python prompt once the script finishes;
otherwise it will exit Python and return you to the command line.
.SH "OPTIONS"
.TP
\fB-q\fR
.TP
\fB--quiet\fR
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
\fIREGINA_VERBOSITY\fR=0\&.
.TP
\fB-v\fR
.TP
\fB--verbose\fR
Start in verbose mode. Additional diagnostic
information will be output.
This is equivalent to setting the environment variable
\fIREGINA_VERBOSITY\fR=2\&.
.TP
\fB-a\fR
.TP
\fB--noautoimport\fR
Still import the \fIregina\fR 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\&.
.TP
\fB-i\fR
.TP
\fB--interactive\fR
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, \fBregina-python\fR will
always start in interactive mode.
.SH "ENVIRONMENT VARIABLES"
.PP
The following environment variables influence the behaviour of
this program. Most variables can also be set in the local
configuration file \fI~/.regina-python\fR using a line
of the form
\fIoption\fR=\fIvalue\fR;
exceptions are noted below.
Environment variables take precedence over values in
the configuration file.
.TP
\fB\fIREGINA_VERBOSITY\fB\fR
Specifies how much output should be generated.
Recognised values are:
.RS
.TP
\fB0\fR
Display errors only; this is equivalent to passing the option
\fB--quiet\fR\&.
.TP
\fB1\fR
Display errors and warnings; this is the default.
.TP
\fB2\fR
Display errors, warnings and diagnostic output; this is
equivalent to passing the option \fB--verbose\fR\&.
.RE
.TP
\fB\fIREGINA_PYTHON\fB\fR
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
\fIregina\fR 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.
.TP
\fB\fIREGINA_PYLIBDIR\fB\fR
The directory containing the Python module
\fIregina\fR\&.
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
\fIREGINA_PYLIBDIR\fR 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., \fBGNU/Linux\fR and \fBWindows\fR),
relocatable app bundles (e.g., \fBmacOS\fR),
and running directly from the source tree.
.TP
\fB\fIREGINA_HOME\fB\fR
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
\fI$REGINA_HOME/data/census/\fR\&.
This option can only be set from the environment: it cannot be set in
the configuration file \fI~/.regina-python\fR\&.
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., \fBGNU/Linux\fR and \fBWindows\fR),
relocatable app bundles (e.g., \fBmacOS\fR),
and running directly from the source tree.
.SH "MACOS USERS"
.PP
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\&.
.SH "WINDOWS USERS"
.PP
The command \fBregina-python\fR is not available under
\fBWindows\fR\&. However, you can still use Python scripting in Regina's
graphical user interface, by opening a graphical Python console or
using script packets.
.SH "SEE ALSO"
.PP
regina-gui\&.
.PP
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
Help->Python API Reference in the graphical user interface, or read it online
at \fBhttp://regina-normal.github.io/engine-docs/\fR\&.
.SH "AUTHOR"
.PP
Many people have been involved in the development
of Regina; see the users' handbook for a full list of credits.