Skip to main content

Sage: Open Source Mathematics Software: Configuration module for the SageMath library

Project description

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 runtime

  • a console script sage-config, for querying the variables of sage_conf from the shell

  • a 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 https://github.com/sagemath/sage/issues/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 https://github.com/sagemath/sage/issues/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

https://www.sagemath.org

This package is included in the source code of the Sage distribution, in pkgs/sage-conf*.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sage_conf-10.5rc0.tar.gz (2.9 MB view details)

Uploaded Source

File details

Details for the file sage_conf-10.5rc0.tar.gz.

File metadata

  • Download URL: sage_conf-10.5rc0.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for sage_conf-10.5rc0.tar.gz
Algorithm Hash digest
SHA256 05caef4bfe7e5f13267665aea663544f84b0e7d87f94d2aa79aedf813b45f646
MD5 9abf7c00bdb13ddb52bf4fa04203486d
BLAKE2b-256 44e5e08867a8e9117ccc923a4e5524f28c39b4a7bc05c756091c0c6372b4c84c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page