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.

Reply via email to