sage_conf: Configuration module for the SageMath library (distributable version)#
Description#
This distribution package provides:
a single Python module,
sage_conf
, providing configuration information to the SageMath library at the time of its installation and at its runtimea console script
sage-config
, for querying the variables ofsage_conf
from the shella sourcable shell script
sage-env-config
, providing additional configuration information in the form of environment variables
The sage_conf
distribution package is polymorphic: It has several implementations.
sage_conf sdist on PyPI#
This implementation of the sage_conf
distribution package comes from
Issue #29039, which added the directory
pkgs/sage-conf_pypi.
To install, use pip install -v sage_conf
. Using -v
ensures that diagnostic
messages are displayed.
On installation (or building a wheel), it invokes sage_bootstrap
to establish
a build tree (SAGE_ROOT
) and installation tree (SAGE_LOCAL
) for
the SageMath distribution. By default, it uses a subdirectory of $HOME/.sage
that is specific to the version of the distribution and the version of Python in
use. If several virtual environments over the same version of Python install
sage_conf
, they will share these trees.
After installation of sage_conf
, a wheelhouse containing wheels of
various libraries is available; type ls $(sage-config
SAGE_SPKG_WHEELS)
to list them and pip install $(sage-config
SAGE_SPKG_WHEELS)/*.whl
to install them. After this, you can install the Sage
library, for example, using pip install sagemath-standard
.
sage_conf wheels#
Prebuilt binary wheels of the sage_conf
distribution package are available
at https://github.com/sagemath/sage-wheels/releases/
This implementation of sage_conf
comes from Issue #31396,
which adds the directory pkgs/sage-conf_relocatable/
.
On building a wheel, it invokes sage_bootstrap
to establish a
build and installation tree (SAGE_ROOT
, SAGE_LOCAL
) in a
subdirectory of the directory /var/tmp/
, whose name is specific to
the version of the distribution and the version of Python in use.
The wheel distributes a copy of the prebuilt SAGE_ROOT
and
SAGE_LOCAL
. Importing sage_conf
(or using the installed
sage-config
script), makes sure that a symlink from the
/var/tmp
location to the actual persistent installation location
is created. As the relocated libraries and programs contain the
hardcoded path SAGE_LOCAL
in various ways (including as rpaths),
this symlink is necessary for the prebuilt libraries and programs to
work.
/var/tmp
is a sticky directory on all Linux distributions
following the Filesystem Hierarchy Standard, as well as on macOS.
On multi-user systems, only one user can use a given
version of the distribution; other installation schemes are recommended
for systems with multiple Sage users.
sage_conf in the SageMath distribution#
The original version of the distribution package sage_conf
is used
internally in the SageMath distribution. It is provided in the directory
pkgs/sage-conf.
This version of the package is generated by the Sage distribution’s ./configure
script.
sage_conf for conda#
The version of the distribution package in the directory pkgs/sage-conf_conda may be used in an installation method of SageMath, where all packages are provided by conda. This method is described in https://doc.sagemath.org/html/en/installation/conda.html#using-conda-to-provide-all-dependencies-for-the-sage-library-experimental
sage_conf in downstream distributions#
Downstream packagers and advanced developers and users may want to provide their own implementation of the distribution package to support the intended deployment of the SageMath library.
License#
GNU General Public License (GPL) v3 or later
Upstream Contact#
This package is included in the source code of the Sage distribution, in pkgs/sage-conf*.
Type#
standard
Dependencies#
$(PYTHON)
$(PYTHON_TOOLCHAIN)
Version Information#
package-version.txt:
10.4
version_requirements.txt:
sage-conf ~= 10.4
Equivalent System Packages#
(none known)