A quick overview of the status of the modularization effort of Meta-ticket #29705 <https://trac.sagemath.org/ticket/29705> in Sage 9.3.beta9.
A source tarball of the Sage distribution (or a worktree of the Sage git repository after running the ./bootstrap script) contains several self-contained source trees of Python distribution packages in build/pkgs/*/src/, which can be packaged, built and installed by standard Python procedures: - setup.py sdist builds a source distribution (it is invoked by the convenience script build/pkgs/*/spkg-src), which can afterwards be installed using pip. - setup.py install installs the package directly (this is legacy use of setuptools and is not recommended). - setup.py bdist_wheel builds a wheel, which can afterwards be installed using pip. - Note, however, that pip install . does not work. In order to keep the monolithic structure of the SAGE_ROOT/src tree unchanged (for the convenience of Sage developers), the source trees of the Python distribution packages make use of symlinks. These symlinks are not compatible with pip install .. However, setup.py sdist follows the symlinks - the resulting source distribution contains ordinary files only and is therefore pip-installable. The following Python distribution packages exist in Sage 9.3: - The Sage library is built from *build/pkgs/sagelib/src*. Since 9.3.beta8, the resulting source distribution sagemath-standard <https://pypi.org/project/sagemath-standard/> is available on PyPI. - *build/pkgs/sage_docbuild/src* contains a distribution that provides the Python package sage_docbuild, moved from sage_setup.docbuild in #30476 <https://trac.sagemath.org/ticket/30476>. Since 9.3.beta9, the resulting source distribution sage-docbuild <https://pypi.org/project/sage-docbuild/> is available on PyPI. - *build/pkgs/sage_sws2rst/src* contains the source of https://pypi.org/project/sage-sws2rst/ - *build/pkgs/sage_conf/src* (after running the top-level configure script) contains the source of the Sage configuration package <https://trac.sagemath.org/ticket/21707>, which provides: - a single Python module, sage_conf, providing configuration information to the SageMath <https://wiki.sagemath.org/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 - the sourcable shell script sage-env-config, providing additional configuration information in the form of environment variables. I hope that we can still merge the following tickets in *Sage 9.3*, which are waiting for review: - #30913 <https://trac.sagemath.org/ticket/30913>: Generate pyproject.toml and setup.cfg [install_requires], requirements.txt, Pipfile, and src/Pipfile - #29039 <https://trac.sagemath.org/ticket/29039>: pip-installable version of package sage_conf - installs non-Python bits of the Sage distribution in ~/.sage/ - #30383 <https://trac.sagemath.org/ticket/30383>: Add configure --disable-notebook; show descriptions of optional packages in configure --help (see https://trac.sagemath.org/ticket/29705 for more details) -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/f4672d2d-ae7d-4b94-8697-c945ad961ac8n%40googlegroups.com.
