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.5
version_requirements.txt:
sage-conf ~= 10.5
Equivalent System Packages¶
(none known)