Opened 2 years ago
Last modified 3 weeks ago
#29705 new task
Metaticket: Modularize sagelib into separate distributions (pipinstallable packages) sagemath...
Reported by:  mkoeppe  Owned by:  

Priority:  major  Milestone:  sage9.7 
Component:  refactoring  Keywords:  sd109, sd110, sd111 
Cc:  vdelecroix, mjo, fbissey, isuruf, tscrim, ghkliem, jhpalmieri, ghtobiasdiez, defeo, ghthierryFreeBSD, aschilling  Merged in:  
Authors:  Reviewers:  
Report Upstream:  N/A  Work issues:  
Branch:  Commit:  
Dependencies:  Stopgaps: 
Description (last modified by )
Modularize sagelib into separate distributions (pipinstallable packages), so that these can be built and run with a much smaller set of libraries. The packages can be made available individually on PyPI using the naming scheme sagemath....
The goal is do this without changing the overall structure of the source tree.
 Section Packaging the Sage Library in the Sage Developer's Guide (added in Sage 9.5)
 Master plan of sage modularization (sagedevel, 202111)
 How to modularize for fun and profit, IV: Testing subset distributions in virtual envs (sagedevel, 202110)
 How to modularize for fun and profit, III: Dependencies, in 4 special flavors (sagedevel, 202110)
 How to modularize for fun and profit, II: MONOREPO vs. MULTIREPO (sagedevel, 202110)
 How to modularize for fun and profit, I: Namespace vs. distribution name (sagedevel, 202110)
 Refactoring tasks in the Sage library to support modularization (sagedevel, 202109)
 Current status of pipinstallability (Sage 9.4 release tour, 202108)
 Schematics (202010)
 Presentation video: https://researchseminars.org/talk/SageDays110/11/ (202010)
 Initial proposal (sagedevel, 202005)
Initial steps:
 In particular, create a package sagemathobjects that makes Sage objects, the element/parent framework, categories, the coercion system and the related metaclasses available. This package would, for example, not provide or know about integers, polynomials, or matrices (thus avoiding all the dependencies on the various libraries implementing these). Ideally it would only have a build dependency on Cython and no runtime dependencies.
(Doctesting sagemathobjects would still need more of Sage, but some it could also be done by mocking instead of with the real classes.)
a) These facilities could see a wider use in the mathematical Python community, and in this way we could hope to benefit from a larger developer base. For example, we would hope that sagemathobjects could be ported for use with PyPy instead of CPython.
b) Building and deploying a user package would be easier if it could depend on a small package such as sagemathobjects only instead of the whole multigigabyteness of Sage.
This has been completed in Sage 9.6 (#29865).
 Remove the mechanism of
OptionalExtension
s fromsagelib
.
Currently, a user would install, for example, the optional package
tdlib
and then rebuildsagelib
so that theOptionalExtension
sage.graphs.graph_decompositions.tdlib
is built and installed.
With this ticket, the user would instead install a new optional package sagemathtdlib (which has
tdlib
as a dependency); this installs theExtension
sage.graphs.graph_decompositions.tdlib
(as a namespace package).
This has been completed in Sage 9.2 (#29701).
Not within the scope of this ticket:
 We will not change the overall structure of the source tree (
SAGE_ROOT/src/sage
). We will achieve this by using the mechanism of native namespace packages introduced in Python 3.3 (PEP 420, see https://trac.sagemath.org/ticket/28925).
 It is not a prerequisite to fight against all circular imports. In particular, a parent class and its corresponding element class would certainly not be separated into separate distribution packages.
Initially noted constraints and challenges:
 Inconsistent handling of symlinks by
pip
/setuptools
. We cannot simply create a distribution of a subset of the files insrc
by creating a flock of symlinks (see #29850) and expect everything to work; notably, pip fails because of longstanding issues with installs from local directories (see discussion in #29854).
Solution (implemented in Sage 9.2, #29500): Do not use pip for installations from local source directories. Use
setup.py bdist_wheel
, followed bypip install
of the wheel. pip 21.1'susefeature=intreebuild
makes this workaround unnecessary (#32046, Sage 9.5).
 The category framework can not really be separated from the
Parent
/Element
/CategoryObject
(e.g. coercion is involved in comparisons and binary operations).
Solution: Therefore they are in the same distribution sagemathobjects.
 The category framework cannot live without the integers (e.g. the output of
.cardinality()
expects an integer).
Near term solution: #32432 makes sagemathcategories larger, to include integers and some other basic rings.
Possible future solution: The coercion system already has the notion of a global coercion model  which is determined at runtime, not compile time (
sage.structure.element.get_coercion_model
). When methods insagemathobjects
need to create an integer, they should obtain the appropriate class of integers in the same way. An existing function provides this interface already (but has a static implementation):sage: py_scalar_parent(int) Integer Ring#29875 will make this implementation dynamic.
 Imports in
sage.categories
:bimodules imports QQ, RR classical_crystals imports SR finite_coxeter_groups imports QQbar
Such imports can be removed using the techniques described in section Modulelevel runtime dependencies in the Sage developer's guide.
Tickets for Sage 9.2:
see also Modularization changes in Sage 9.2 (release tour)
 #29411: make sagelib a script package
 #29702: Move all code from
src/setup.py
tosage_setup
 #29706, #29720, #29721, #29785, #29786, #29790, #29791: Move
Extension
options fromsrc/module_list.py
todistutils:
directives in the individual files  #29701 (depends on all of the above): Replace use of
module_list
andOptionalExtension
by extendingsage_setup.find_python_sources
 #28197: upgrade to ipython 7 (old ipython completer crashes on namespace packages)
 #29803: Upgrade
setuptools
,setuptools_scm
,pip
(202006), add packagewheel
; removezope_interface
 #21559: Install
src/bin
scripts by sagelib'ssetup.py
, not make  #29950: Build sagelib from build/pkgs/sagelib/src, fix
setup.py sdist
, addspkgsrc
andtox.ini
(supersedes: #21516: Fix sagelib sdist (src/setup.py sdist), #13190: makesagelib
usesetuptools
instead ofdistutils
)  #29869, #29873, #29892, #29883, #16351, #29881, #29880, #29916, #29922: Improve/repair filtered structure of sagelib.
 #29171: Move
giacpy_sage
into sage source code  #30332: Merge
sage_brial
into sagelib  #29500 Install all Python packages via
pip wheel
, store wheels in $SAGE_LOCAL/var/lib/sage/wheels  #30606:
sage.features.Feature.resolution
: IfSAGE_ROOT
is available, recommend system packages  #30616: Replace use of
sage.misc.package.PackageNotFoundError
(2); lazy_import: Add keyword argument 'feature'
Tickets for Sage 9.3:
see also Modularization changes in Sage 9.3 (release tour)
 #30715 Remove a few
.all
imports  #30739 Remove a few more
.all
imports  #30784
sage.matrix
: Resolve circular imports without using__init__.py
 #30779 Duplicate
src/setup.py
 #30780
sage_setup
: Separate installing and cleaning  #30579 Clean up
sage_setup.library_order
 #30580
sage_setup
: Remove importtime dependency (setup_requires
) onpkgconfig
,numpy
 #29355 Sagelib's scripts in
src/bin
should not usebuild/bin/sagesystempython
; removesagepypkglocation
 #30780
sage_setup
: Separate installing and cleaning  #30719 Add
build/pkgs/SPKG/installrequires.txt
for all Python packages, remove some unneeded packages  #29951
src/bin/sageenv
: MakeSAGE_ROOT
andSAGE_LOCAL
optional  #29852 sage: Determine
SAGE_LOCAL
,SAGE_ROOT
via sageconfig if it exists  #22731: Replace
$SAGE_LOCAL/bin
by more specific variables to make Sage easier to package, use in venvs  #30013:
src/bin/sageenv
: Make sure$SAGE_VENV/bin
is at the beginning of thePATH
 #30587: Remove import of
ppl
at startup  #31261: Update
pplpy
to 0.8.6  #29850: Install
sageenvconfig
as part ofsage_conf
 #31025: FPLLL 5.4.0 and FPyLLL 0.5.4
 #31058:
src/bin/sagevenvconfig
: Do not fail ifsage_conf
is not available  #31218: bootstrap: Fix "sagevenvconfig: /doesnotexist/python3: bad interpreter"
 #31270: Remove
sagelocation
's "sageforcerelocate" mechanism, fix script to work withoutSAGE_ROOT
 #31321:
build/pkgs
: Add some missing installrequires metadata, add some documentation to the developer's guide  #30912: sagelib: Update metadata for PyPI deployment as distribution sagemathstandard
 #31357: Fixup
src/VERSION.txt
added in #30912  #31332:
sage.misc.persist
: ImportSAGE_DB
on need only  #31334:
sage.doctest.control
: Do not fail ifsage.libs.arb
cannot be imported  #30984:
sage_setup
: Replace imports fromdistutils
bysetuptools
 #31365: Add NTL to
cython_aliases
andsage.misc.cython
library search dirs  #31279: Add package
argon2cffi
(dependency of Jupyter notebook)  #31362:
make buildlocal
, makebuildvenv
 #31377
./configure enableeditable
 #31045:
pip
,wheel
,setuptools
: Make wheels available inSAGE_SPKG_WHEELS
 #30010: Split sage_setup.docbuild out to a separate distribution sagedocbuild
 #31278:
widgetsnbextension
should not depend onnotebook
 #30383: Add
configure disablenotebook
; show descriptions of optional packages inconfigure help
 #31523: Fix dependencies of
ipywidgets
 #31409: Make it possible to disable build of
r
,rpy2
using./configure disabler
Tickets for Sage 9.4:
see also Modularization changes in Sage 9.4 (release tour)
 #30913: Generate pyproject.toml and setup.cfg [install_requires], requirements.txt, Pipfile, and src/Pipfile (supersedes #30578, #30581)
 #31384:
cython_aliases
: Do not fail if one of the listed libraries is not known to pkgconfig  #29013: Add configure option
withsagevenv=SAGE_VENV
to create venv there instead of in SAGE_LOCAL  #31593:
configure
: Paths within$SAGE_LOCAL
($prefix
) forsage_conf
 #31338:
sage_setup
: Use paths withinSAGE_LOCAL
when provided via sage_conf  #31562: Patch
giac
so thatlibintl
from/usr/local
does not leak in on macOS  #28890: Install fewer static libraries
 #32045
sageenv
,sage.env
: Remove unused environment and Python variablesSAGE_ETC
,SAGE_INC
 #32036
sage.env
: Remove direct uses of SAGE_LOCAL from the Sage library  #32057
sage_setup.setenv
: Only set...PATH
variables andLDFLAGS
ifSAGE_LOCAL
differs fromSAGE_VENV
 #31577: Move
SAGE_ROOT/build/pkgs/*/src
toSAGE_ROOT/pkgs/*
 #31333:
sage.env.sage_include_directories
: Remove hard dependency onnumpy
 #32073: Remove
sage.libs.readline
Tickets for Sage 9.5:
see also Modularization changes in Sage 9.5 (release tour)
 #32046 Use
pip usefeature=intreebuild
, replace use ofsdh_setup_bdist_wheel
bysdh_pip_install
 #29847: Install
sage_setup
withsetuptools
as a build prerequisite for building/installing sagelib. Deploy distribution sagesetup to PyPI.  #32371
ptyprocess
: Pin version to 0.5.1 in installrequires.txt  #31031 Change
sage_setup: distribution
headers fromsage...
tosagemath...
 #32386 Merge
pynac
sources assrc/sage/symbolic/ginac
(supersedes #30534)  #32412: Deprecate
sage.libs.primecount
/sage.interfaces.primecount
 #32373:
sage_setup.library_order
: Skip libraries that were not detected  #32501: Metaticket: Clear out
__init__.py
files in preparation for namespace packages  #32414 Metaticket: New modules providing abstract base classes to enable modularization
 #32534/#32591/#32620/#32734/#32733: Remove
.all
imports  #32442
./configure
: Makewithsagevenv=auto
the default  #32062: GH Actions: Deploy sdists to PyPI
 #29039: pipinstallable version of package sageconf  installs nonPython bits of the Sage distribution in
~/.sage/
 #32601: Modularization of sagelib: Break out a separate package sagemathstandardnosymbolics
 #32411/#32413/#32415/#32416: Remove unnecessary uses of
SR
and symbolic functions  #32599:
sage.structure
,sage.sets
: Remove hard dependencies on the symbolic ring / polynomial rings  #32593:
sage.modules
,sage.matrix
: Remove importtime dependencies on the symbolic ring  #32638:
sage.structure.element
: Add abcExpression
; deprecateis_Expression
etc.  #32665: Deprecate
is_[Callable]SymbolicExpressionRing
, remove use ofis_Symbolic{Equation,Variable}
,is_CallableSymbolicExpression
 #32708:
sage.tensor.modules
: remove dependency onsage.manifolds
 #32712:
sage.tensor.modules
: make doctests involvingSR
optional  #32725: Modularization changes in
sage.modules
,sage.matrix
 #32730: Import
Expression
fromsage.structure.element
 #32717: Move
sage.functions.other.sqrt
tosage.misc.functional
 #32731: Avoid
ceil
,floor
fromsage.functions.other
in nonsymbolic uses
 #32411/#32413/#32415/#32416: Remove unnecessary uses of
 #32585
sage.doctest
: Eliminate hard dependency onRealIntervalField
 #32614 Features and optional tags for sage modules provided by separate distributions
 #30778
sage.doctest.control
: Exclude doctests in files via filelevel directives  #32649 Replace
sage.doctest.external.has_*
functions byFeature
s  #32650
sage.misc.latex
: Replacehave_...
functions byFeature
s  #32619
lazy_import
: Muffle diagnostic messages forat_startup
 #32432: Modularization of sagelib: Break out a separate package sagemathpolyhedra
 #30022/#32441/#32455/#32775/#32701 Remove compiletime dependency on
cypari2
andflint
from some modules  #32592
sage.geometry.polyhedron
: Split outbackend_cdd_rdf
frombackend_cdd
 #32628
ConvexSet_base
,Polyhedron_base
: In_test
methods, do not fail if some modules are unavailable  #32634
sage.misc.latex
,sage.repl.display.fancy_repr
: Make imports more local  #32652/#32653/#32732
sage.geometry.polyhedron
: Mark doctests# optional  sage.rings.number_field
etc.  #32635
sage.matrix.matrix_space
: Import element classes on demand, fall back to generic onImportError
 #32666
Polyhedron_base.vertex_adjacency_matrix
: Do not useface_lattice
 #32677
sage.rings.real_double
: Move methods using GSL to a separate extension module  #32625
Parent._is_numerical
,_is_real_numerical
 remove hard dependency onreal_mpfr
,complex_mpfr
 #32641 Decentralize
sage.rings.numbers_abc
 #32769
sage.categories.coxeter_groups
: Remove modulelevel imports fromsage.rings
,sage.graphs
 #32777 Allow some imports of
RLF
to fail  #32780
sage.geometry.polyhedron.library
: Delay import of rings  #32778
sage.rings.infinity
: Remove hard dependency onreal_lazy
andreal_mpfi
 #30022/#32441/#32455/#32775/#32701 Remove compiletime dependency on
 #31386: Move list of scripts from
setup.py
tosetup.cfg
 #32899: Developer's guide: Add section on modularization
 #25009/#32894: Split out
sage.libs.primecount
/sage.interfaces.primecount
as a separate Python library
Tickets for Sage 9.6:
see also Modularization changes in Sage 9.6 (release tour)
 #29865: Modularization of sagelib: Prepare experimental subset distributions sagemathobjects, sagemathcategories, depending on Cython, pkgconfig, cysignals, gmpy2. Use them as a testsuite for testing the filtered structure of sagelib.
 #31013 Remove unused class from
sage_setup.optional_extension
 #32846
sage.geometry
: More# optional
 #32847 Use
lazy_import
for modulelevel import fromsage.plot
(outside ofsage.plot
)  #31306
sage.repl
: Replace use ofSAGE_EXTCODE
byimportlib.resources
 #32881/#32888 Feature for
sage.rings.padics
etc.  #33033 Prepare
sage.doctest
for namespace packages  #32465 Refactor
{Matrix,Vector}_double_dense
through..._numpy_dense
, add..._numpy_integer_dense
 #33402
sage.geometry.polyhedron
: More# optional
 #33403
Polyhedron._test_product
,_test_dilation
: Skip tests if test prereqs cannot be imported  #33392
sage.matrix
: Modularization fixes after #33159  #32989/#32999/#33000/#33007/#33146/#33199 Remove imports from
sage.*.all
 #32609 Remove more unnecessary uses of SR and symbolic functions in
sage.combinat
 #32893 Feature for palp
 #31296
sage.features.Executable
: Prepend$SAGE_VENV/bin:$SAGE_LOCAL/bin
toPATH
 #33440
sage.libs.singular
: Do not fail if the Singular binary is not inPATH
 #33465, #33466, #32645, #33467: Use
Executable.absolute_filename
 #33017
LazyImport.__instancecheck__
,__subclasscheck__
: ReturnFalse
onImportError
Tickets for Sage 9.7:
see also Modularization changes in Sage 9.7 (release tour)
 #33797/#33799 Remove some uses of
SAGE_TMP
(supersedes #32986)  #33801
sage.misc.sage_input
: Remove import from sage.all  #33803 Fixes for the distributions sagemathobjects, sagemathcategories
 #32716
pkgs/sagemathstandard/tox.ini
: Create environment that uses Sage's python as the basepython  #29941: Modularization of sagelib: Break out a separate packages sagemathenvironment, sagemathrepl
 #28925 Modify
find_python_sources
to support modularization ofsagelib
by native namespace packages (PEP 420), rework sagemathobjects, sagemathcategories as namespace packages  #33822
python3
spkgconfigure.m4
: Requireensurepip
 #33795 Move handling of
sage docbuild
back tosrc/bin/sage
 #33821 Remove use of
SAGE_LIB
insage.misc
 #33295: Refactor
sage_conf
 #33029 Feature and doctest tag for runtime cython
 #33800 cibuildwheel workflow for sagemathobjects, sagemathcategories etc.
 #33011 Remove
__init__.py
files for packages designated to be namespace packages  #34187 Remove
src/sage/__init__.py
 #32406: Make
./configure enableeditable
the default  #33817 GH Actions: Add test of the modularized distributions
 #34221 Backport PEP420 namespace package support from Cython 3
 #33812 Refactor distributions sagesetup, sagemath{objects,categories} through sagemath{environment,repl}
Tickets for Sage 9.8:
 Deploy distributions with optional extension modules to PyPI.
 #33820
eager_import
 #32927
build/pkgs/sagelib
: Invoke install cleaner explicitly, remove it frompkgs/sagemathstandard/setup.py
 #32874 Remove use of
setup.py install
for sagelib  #33575 Feature for fricas
 #33405 Eliminate direct use of
os.getenv
insage.interfaces
, useExecutable.absolute_filename
 #33802 Remove runtime dependency on everything via
sage_eval
 #32360 Merge
cypari
,cypari2
; replacecysignal
's optional PARI dependency by a general hook #32431
cysignals
: Replace compiletime dependency on pari by runtime dispatch
 #32431
 #33202 Do not complain about
sage.categories.all
 #29870:
Move sage.structure.formal_sum
tosage.modules
 #32432: Modularization of sagelib: Break out a separate package sagemathpolyhedra
 #30746
sage.doctest.control
: Replace use of sage.misc.package.list_packages  #30848
sage.doctest.control
,sage_setup
: Do not check versions of installed packages  #33037 Remove use of
SAGE_LIB
variable  #30911: src/tox.ini: Add "develop" environment
 #29868: pipinstallable packages sagemathdoc...
 #31396: relocatable wheel version of package sageconf
 possibly move
pkgs/sageconf/sage_conf.py[.in]
intosrc/
, mark it (and alsosrc/bin/sageenvconfig[.in]
)# sage_setup: distribution = sageconf
.  #31543: Eliminate use of patches for Python packages
 #30666 Add "sage_setup: distribution" directives to all Cython modules needing external libraries
 #30647: Make
lazy_import
more friendly to pyflakes and other static checkers  #32586: Prepare use of
sage.all
insage.structure.factory.lookup_global
for modularized distributions  #32601: Modularization of sagelib: Break out a separate package sagemathstandardnosymbolics
Tickets for Sage 9.9
 #30036:
sage_confpypi
: API for incremental builds  #29041
sage_bootstrap
: Add commandsage package list output={installrequires,requirements,pipfile,debian,....}
 #30152:
sage_setup
: Modifyclean_stale_files
to support outoftree namespace packages  Further modularization:
 #32700: Modularization of sagelib: Distribution sagemathgsl
 sagemathgiac (ex
giacpy_sage
insage.libs.giac
+ dependency onlibgiac
)  sagemathbrial (ex
sagebrial
insage.rings.polynomial.pbori
+sage.libs.polybori
,sage.crypto.boolean_function
)  #30716 Towards making Arb library optional
 #32433 Refactor
sage.matrix.misc
 #32433 Refactor
 #33660 Modularization of sagelib: Break out separate package sagemathcombinat
 #32702 Modularization of sagelib: Distribution sagemathplot
 #29912: Modularization of sagelib: Break out a separate package
sagemathntl
 Modularization of sagelib: Break out a separate package sageflintarbe_anticsingular
 #31444 Modularization of sagelib: Break out separate package sagemathlinbox
 #31695 Modularization of sagelib: Break out separate package sagemathsymbolics (depends on ecl and maxima, packages
sage.interfaces.maxima*
,sage.libs.ecl
)
 #32613: pynac: Replace direct use of singular's libfactory by a Python call
 #32908 Eliminate use of FLINT's NTL interface
 #30371: Inplace (editable) installs of sagelib in a venv
Wishlist tickets, loose ends
 #30527: Create PEP 503 simple repository for wheels built during installation
 #29877:
sage.categories
: Replace import ofZZ
bypy_scalar_parent(int)
 #29875:
sage.structure.coerce.py_scalar_parent
,py_scalar_to_element
: Make dynamic  #29874: Mock integer class
 #29845: PEP 517
buildapi
forsage_setup
 #31602: modularized relocatable wheel version of
sage_conf
 #30748 Convert startup methods to context manager
 #30896:
./configure withsagevenv=none
Related:
 #21508 Metaticket: Clean up
src/setup.py
to bring it to standard distutils behavior  https://wiki.sagemath.org/CodeSharingWorkflow
 #30914 Metaticket: Create upstream repositories, pipinstallable packages for database packages
 #30922 Metaticket: Fix dependencies of upstream Python packages
 #30818 Metaticket: Set environment for subprocesses invoked by Sage
 #31041 Set environment for
sage.misc.cython
 #31041 Set environment for
 #31251 Metaticket: Distribution as wheels
 #33580 Metaticket: make all modules importable without sage.all
 #34201 Metaticket: Replace imports from sage.*.all for namespace packages
Change History (232)
comment:1 Changed 2 years ago by
 Description modified (diff)
comment:2 Changed 2 years ago by
 Description modified (diff)
comment:3 Changed 2 years ago by
 Description modified (diff)
comment:4 Changed 2 years ago by
 Description modified (diff)
comment:5 Changed 2 years ago by
 Description modified (diff)
comment:6 Changed 2 years ago by
 Description modified (diff)
comment:7 Changed 2 years ago by
 Keywords sd109 added
comment:8 Changed 2 years ago by
 Branch set to u/mkoeppe/METAmodularizesagelib
comment:9 Changed 2 years ago by
 Cc ghkliem jhpalmieri added
 Commit set to 06a59119edb6d28e9b7cf8ca1bb192d7991ed5d5
comment:10 Changed 2 years ago by
 Description modified (diff)
comment:11 Changed 2 years ago by
 Description modified (diff)
comment:12 Changed 2 years ago by
 Commit changed from 06a59119edb6d28e9b7cf8ca1bb192d7991ed5d5 to 4365e5d772cabee22c9eb269b44eeed5788ae5ea
Branch pushed to git repo; I updated commit sha1. New commits:
55bd7ba  src/module_list.py: Move options for Extensions in sage.graphs to distutils directives

4365e5d  Merge branch 't/29790/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_5__sage_graphs_' into t/29705/METAmodularizesagelib

comment:13 Changed 2 years ago by
 Commit changed from 4365e5d772cabee22c9eb269b44eeed5788ae5ea to 7d94648a8904b499a5d76df4a44e006927467bb4
Branch pushed to git repo; I updated commit sha1. New commits:
7d94648  src/module_list.py: Move options for Extensions in sage.libs to distutils directives

comment:14 Changed 2 years ago by
 Description modified (diff)
comment:15 Changed 2 years ago by
 Commit changed from 7d94648a8904b499a5d76df4a44e006927467bb4 to b3d3d2f3baa0e1700c51b7df58a5af1aeba5acc4
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
9dc7022  Merge branch 't/29706/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files' into t/29791/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_6__last_

f78b06d  src/module_list.py: Move options for Extensions in sage.libs to distutils directives

1b0e29d  src/module_list.py: Move options for Extensions in sage.matrix to distutils directives

6421e2c  src/module_list.py: Move remaining options for Extensions in sage.libs, sage.rings to distutils directives

b3d3d2f  Merge branch 't/29791/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_6__last_' into t/29705/METAmodularizesagelib

comment:16 Changed 2 years ago by
 Commit changed from b3d3d2f3baa0e1700c51b7df58a5af1aeba5acc4 to 891d12aeacd439cd72e31d42399826f48dae624f
Branch pushed to git repo; I updated commit sha1. New commits:
2821934  Fix sage_setup directives: Use distribution, not package

9052db4  Merge branch 't/29720/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_2___optionalextensions_' into t/29705/METAmodularizesagelib

ff710ee  src/sage_setup/optional_extension.py (is_package_installed_and_updated): Factor out from OptionalExtension

891d12a  src/setup.py: Remove use of module_list.py; filter by distributions

comment:17 Changed 2 years ago by
 Description modified (diff)
comment:18 Changed 2 years ago by
 Description modified (diff)
comment:19 Changed 2 years ago by
 Summary changed from Metaticket: Modularize sagelib into separate distutils packages to Metaticket: Modularize sagelib into separate distributions (distutils packages)
comment:20 Changed 2 years ago by
 Description modified (diff)
comment:21 Changed 2 years ago by
 Description modified (diff)
comment:22 Changed 2 years ago by
 Commit changed from 891d12aeacd439cd72e31d42399826f48dae624f to bd26ddfc501e27f8c0544833358ce9887b023b9d
Branch pushed to git repo; I updated commit sha1. New commits:
0295c8f  src/module_list.py: Move options for Extensions in sage.graphs.graph_decompositions to distutils directives

b582789  src/sage_setup/find.py: Filter by directive 'sage_setup: distribution = PKG', find Cython modules

63c64d5  Merge branches 't/29720/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_2___optionalextensions_', 't/29721/spkg_configure_m4_for_coxeter3', 't/29785/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_3__get_rid_of_uname_specific_', 't/29786/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_4__sage_rings_', 't/29790/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_5__sage_graphs_' and 't/29791/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_6__last_' into t/29701/replace_use_of_module_list_optionalextension

ae70c81  src/sage_setup/optional_extension.py (is_package_installed_and_updated): Factor out from OptionalExtension

ec7e9c5  src/setup.py: Remove use of module_list.py; filter by distributions

bd26ddf  Merge branch 't/29701/replace_use_of_module_list_optionalextension' into t/29705/METAmodularizesagelib

comment:23 Changed 2 years ago by
 Description modified (diff)
comment:24 Changed 2 years ago by
 Commit changed from bd26ddfc501e27f8c0544833358ce9887b023b9d to 26b557545a62fbcea64df8391be097098e6dbaa1
Branch pushed to git repo; I updated commit sha1. New commits:
38b6bcf  Merge tag '9.2.beta0' into t/29411/make_sagelib_a_script_package

f9a30f6  build/pkgs/sagelib/spkginstall: Fix up error exits

00a1d57  Merge branch 't/29411/make_sagelib_a_script_package' into t/29702/move_all_code_from_src_setup_py__src_fpickle_setup_py_to_sage_setup

25a2340  Merge branch 't/29702/move_all_code_from_src_setup_py__src_fpickle_setup_py_to_sage_setup' into t/29701/replace_use_of_module_list_optionalextension

d7bd69e  Merge branch 't/29701/replace_use_of_module_list_optionalextension' into t/29705/METAmodularizesagelib

2d866a3  src/sage/graphs/graph_decompositions/tdlib.pyx: Fixup

14f488f  Merge branch 't/29701/replace_use_of_module_list_optionalextension' into t/29705/METAmodularizesagelib

0d9f653  WIP: Add sage_tdlib package

26b5575  Use sage_install

comment:25 Changed 2 years ago by
 Description modified (diff)
comment:26 Changed 2 years ago by
 Description modified (diff)
comment:27 Changed 2 years ago by
 Commit changed from 26b557545a62fbcea64df8391be097098e6dbaa1 to 7dd469fdf92a45b80049cd0583c75550ce1032ff
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
29327d3  build/pkgs/entrypoints: Do not provide setup.py, not needed for entrypoints 0.3

bcc79a5  build/pkgs/entrypoints/spkginstall.in: Remove pyproject.toml so that setup.py is used

361b98b  build/pkgs/terminado/spkginstall.in: Remove pyproject.toml so that setup.py is used

5040d7e  build/pkgs/testpath/spkginstall.in: Remove pyproject.toml so that setup.py is used

371ede6  build/pkgs/zope_interface: Change to a dummy script package

b7c63df  Merge branch 't/29803/upgrade_setuptools__pip__2020_06_' into t/29705/METAmodularizesagelib

5f33436  src/setup.py: from setuptools import setup

93bbbfe  Add src/setup.cfg

a7de6c0  Merge branch 't/13190/make_sagelib_use_setuptools_instead_of_distutils' into t/29705/METAmodularizesagelib

7dd469f  WIP: Add sage_tdlib package, use symlinks for sagelib package

comment:28 Changed 2 years ago by
 Description modified (diff)
comment:29 Changed 2 years ago by
 Commit changed from 7dd469fdf92a45b80049cd0583c75550ce1032ff to 24e9b30a3a67069dcd4374da9c2fef57a1127d3c
Branch pushed to git repo; I updated commit sha1. New commits:
24e9b30  build/pkgs/sage_tdlib/src/MANIFEST.in: New

comment:30 Changed 2 years ago by
 Commit changed from 24e9b30a3a67069dcd4374da9c2fef57a1127d3c to 9b59435fd22b5dc984d0f069919662a60064d096
Branch pushed to git repo; I updated commit sha1. New commits:
9b59435  fixup symlinks

comment:31 Changed 2 years ago by
 Commit changed from 9b59435fd22b5dc984d0f069919662a60064d096 to 19e061d300198bb387b9f057af7b1128dcd23e90
comment:32 Changed 2 years ago by
 Commit changed from 19e061d300198bb387b9f057af7b1128dcd23e90 to c3593b2c75a5930108bea71ee4143301487ed65d
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
c3593b2  build/pkgs/sage_tdlib/src/sage_setup: Remove, we use the installed one

comment:33 Changed 2 years ago by
 Description modified (diff)
comment:34 Changed 2 years ago by
 Description modified (diff)
comment:35 Changed 2 years ago by
 Description modified (diff)
comment:36 Changed 2 years ago by
 Commit changed from c3593b2c75a5930108bea71ee4143301487ed65d to 458d8514eec1cfdaaf351d61e667636e6cd0b025
comment:37 Changed 2 years ago by
 Commit changed from 458d8514eec1cfdaaf351d61e667636e6cd0b025 to 70425649041b04e5d2a04d755f7577f4e8ff1237
comment:38 Changed 2 years ago by
 Commit changed from 70425649041b04e5d2a04d755f7577f4e8ff1237 to 90b33d8a76b22ddada6c5be808c7720da8b803a9
Branch pushed to git repo; I updated commit sha1. New commits:
90b33d8  Install sagelib, sage_tdlib via sdist defined by MANIFEST.in

comment:39 Changed 2 years ago by
 Commit changed from 90b33d8a76b22ddada6c5be808c7720da8b803a9 to 2ccf6b72ab85e3818053608514350b6049a9ca31
Branch pushed to git repo; I updated commit sha1. New commits:
2ccf6b7  Merge tag '9.2.beta1' into t/29705/METAmodularizesagelib

comment:40 Changed 2 years ago by
 Description modified (diff)
comment:41 Changed 2 years ago by
 Description modified (diff)
comment:42 Changed 2 years ago by
 Description modified (diff)
comment:43 Changed 2 years ago by
 Description modified (diff)
comment:44 Changed 2 years ago by
 Description modified (diff)
comment:45 Changed 2 years ago by
 Description modified (diff)
comment:46 Changed 2 years ago by
 Description modified (diff)
comment:47 Changed 2 years ago by
 Description modified (diff)
comment:48 Changed 2 years ago by
 Description modified (diff)
comment:49 Changed 2 years ago by
 Milestone changed from sage9.3 to sage9.2
comment:50 Changed 2 years ago by
 Description modified (diff)
comment:51 Changed 2 years ago by
 Description modified (diff)
comment:52 Changed 2 years ago by
 Description modified (diff)
comment:53 Changed 2 years ago by
 Description modified (diff)
comment:54 Changed 2 years ago by
 Description modified (diff)
comment:55 Changed 2 years ago by
 Description modified (diff)
comment:56 Changed 2 years ago by
 Description modified (diff)
comment:57 Changed 2 years ago by
 Description modified (diff)
comment:58 Changed 2 years ago by
 Description modified (diff)
comment:59 Changed 2 years ago by
 Description modified (diff)
comment:60 Changed 2 years ago by
 Branch u/mkoeppe/METAmodularizesagelib deleted
 Commit 2ccf6b72ab85e3818053608514350b6049a9ca31 deleted
 Description modified (diff)
comment:61 Changed 2 years ago by
 Cc ghtobiasdiez added
comment:62 Changed 2 years ago by
 Description modified (diff)
 Milestone changed from sage9.2 to sage9.3
comment:63 Changed 2 years ago by
 Description modified (diff)
comment:64 Changed 2 years ago by
 Description modified (diff)
comment:65 Changed 2 years ago by
 Description modified (diff)
comment:66 Changed 2 years ago by
 Description modified (diff)
comment:67 Changed 2 years ago by
 Description modified (diff)
comment:68 Changed 2 years ago by
 Description modified (diff)
comment:69 Changed 2 years ago by
 Description modified (diff)
comment:70 Changed 2 years ago by
 Description modified (diff)
comment:71 Changed 23 months ago by
 Description modified (diff)
comment:72 Changed 23 months ago by
 Description modified (diff)
comment:73 Changed 23 months ago by
 Description modified (diff)
comment:74 Changed 23 months ago by
 Description modified (diff)
comment:75 Changed 23 months ago by
 Description modified (diff)
comment:76 Changed 23 months ago by
 Description modified (diff)
comment:77 Changed 22 months ago by
 Description modified (diff)
comment:78 Changed 22 months ago by
 Description modified (diff)
comment:79 Changed 22 months ago by
 Description modified (diff)
 Keywords sd110 added
comment:80 Changed 22 months ago by
 Cc defeo added
comment:81 Changed 22 months ago by
 Description modified (diff)
comment:82 Changed 21 months ago by
 Description modified (diff)
comment:83 Changed 21 months ago by
 Description modified (diff)
comment:84 Changed 21 months ago by
 Description modified (diff)
comment:85 Changed 21 months ago by
 Description modified (diff)
comment:86 Changed 21 months ago by
 Description modified (diff)
comment:87 Changed 21 months ago by
 Description modified (diff)
comment:88 Changed 21 months ago by
 Description modified (diff)
comment:89 Changed 21 months ago by
 Description modified (diff)
comment:90 Changed 21 months ago by
 Description modified (diff)
comment:91 Changed 21 months ago by
 Keywords sd111 added
comment:92 Changed 21 months ago by
 Summary changed from Metaticket: Modularize sagelib into separate distributions (distutils packages) to Metaticket: Modularize sagelib into separate distributions (pipinstallable packages)
comment:93 Changed 21 months ago by
 Description modified (diff)
 Summary changed from Metaticket: Modularize sagelib into separate distributions (pipinstallable packages) to Metaticket: Modularize sagelib into separate distributions (pipinstallable packages) sagemath...
comment:94 Changed 21 months ago by
 Description modified (diff)
comment:95 Changed 21 months ago by
 Description modified (diff)
comment:96 Changed 21 months ago by
 Description modified (diff)
comment:97 Changed 21 months ago by
 Description modified (diff)
comment:98 Changed 20 months ago by
 Description modified (diff)
comment:99 Changed 19 months ago by
 Description modified (diff)
comment:100 Changed 19 months ago by
 Description modified (diff)
comment:101 Changed 19 months ago by
 Description modified (diff)
comment:102 Changed 19 months ago by
 Description modified (diff)
comment:103 Changed 19 months ago by
 Description modified (diff)
comment:104 Changed 19 months ago by
 Description modified (diff)
comment:105 Changed 19 months ago by
 Description modified (diff)
comment:106 Changed 18 months ago by
 Description modified (diff)
comment:107 Changed 18 months ago by
 Description modified (diff)
comment:108 Changed 18 months ago by
 Description modified (diff)
comment:109 Changed 18 months ago by
 Description modified (diff)
comment:110 Changed 18 months ago by
 Description modified (diff)
comment:111 Changed 18 months ago by
 Description modified (diff)
comment:112 Changed 18 months ago by
 Description modified (diff)
comment:113 Changed 18 months ago by
 Description modified (diff)
comment:114 Changed 18 months ago by
 Description modified (diff)
comment:115 Changed 18 months ago by
 Description modified (diff)
comment:116 Changed 17 months ago by
 Description modified (diff)
comment:117 Changed 17 months ago by
 Description modified (diff)
comment:118 Changed 17 months ago by
 Description modified (diff)
comment:119 Changed 17 months ago by
 Cc ghthierryFreeBSD added
comment:120 Changed 17 months ago by
 Description modified (diff)
comment:121 Changed 17 months ago by
 Description modified (diff)
comment:122 Changed 17 months ago by
 Description modified (diff)
comment:123 Changed 17 months ago by
 Description modified (diff)
comment:124 Changed 17 months ago by
 Description modified (diff)
comment:125 Changed 17 months ago by
 Description modified (diff)
comment:126 Changed 16 months ago by
 Description modified (diff)
comment:127 Changed 16 months ago by
 Milestone changed from sage9.3 to sage9.4
comment:128 Changed 16 months ago by
 Description modified (diff)
comment:129 Changed 15 months ago by
 Description modified (diff)
comment:130 Changed 14 months ago by
 Description modified (diff)
comment:131 Changed 14 months ago by
 Description modified (diff)
comment:132 Changed 14 months ago by
 Description modified (diff)
comment:133 Changed 14 months ago by
 Description modified (diff)
comment:134 Changed 14 months ago by
 Description modified (diff)
comment:135 Changed 14 months ago by
 Description modified (diff)
comment:136 Changed 14 months ago by
 Description modified (diff)
comment:137 Changed 14 months ago by
 Description modified (diff)
comment:138 Changed 13 months ago by
 Description modified (diff)
comment:139 Changed 12 months ago by
 Milestone changed from sage9.4 to sage9.5
comment:140 Changed 12 months ago by
 Description modified (diff)
comment:141 Changed 12 months ago by
 Description modified (diff)
comment:142 Changed 12 months ago by
 Description modified (diff)
comment:143 Changed 12 months ago by
 Description modified (diff)
comment:144 Changed 12 months ago by
 Description modified (diff)
comment:145 Changed 12 months ago by
 Description modified (diff)
comment:146 Changed 12 months ago by
 Description modified (diff)
comment:147 Changed 12 months ago by
 Description modified (diff)
comment:148 Changed 12 months ago by
 Description modified (diff)
comment:149 Changed 12 months ago by
 Description modified (diff)
comment:150 Changed 12 months ago by
 Description modified (diff)
comment:151 Changed 12 months ago by
 Description modified (diff)
comment:152 Changed 12 months ago by
 Description modified (diff)
comment:153 Changed 12 months ago by
 Description modified (diff)
comment:154 Changed 11 months ago by
 Description modified (diff)
comment:155 Changed 11 months ago by
 Description modified (diff)
comment:156 Changed 11 months ago by
 Description modified (diff)
comment:157 Changed 11 months ago by
 Description modified (diff)
comment:158 Changed 11 months ago by
 Description modified (diff)
comment:159 Changed 11 months ago by
 Description modified (diff)
comment:160 Changed 11 months ago by
 Description modified (diff)
comment:161 Changed 11 months ago by
 Description modified (diff)
comment:162 Changed 11 months ago by
 Description modified (diff)
comment:163 Changed 11 months ago by
 Description modified (diff)
comment:164 Changed 11 months ago by
 Description modified (diff)
comment:165 Changed 11 months ago by
 Description modified (diff)
comment:166 Changed 11 months ago by
 Description modified (diff)
comment:167 Changed 11 months ago by
 Description modified (diff)
comment:168 Changed 11 months ago by
 Description modified (diff)
comment:169 Changed 11 months ago by
 Description modified (diff)
comment:170 Changed 11 months ago by
 Description modified (diff)
comment:171 Changed 11 months ago by
 Description modified (diff)
comment:172 Changed 11 months ago by
 Description modified (diff)
comment:173 Changed 11 months ago by
 Description modified (diff)
comment:174 Changed 10 months ago by
 Description modified (diff)
comment:175 Changed 10 months ago by
 Description modified (diff)
comment:176 Changed 10 months ago by
 Description modified (diff)
comment:177 Changed 10 months ago by
 Description modified (diff)
comment:178 Changed 10 months ago by
 Description modified (diff)
comment:179 Changed 10 months ago by
 Description modified (diff)
comment:180 Changed 10 months ago by
 Description modified (diff)
comment:181 Changed 10 months ago by
 Description modified (diff)
comment:182 Changed 10 months ago by
 Description modified (diff)
comment:183 Changed 10 months ago by
 Description modified (diff)
comment:184 Changed 9 months ago by
 Description modified (diff)
comment:185 Changed 9 months ago by
 Description modified (diff)
comment:186 Changed 9 months ago by
 Description modified (diff)
comment:187 Changed 9 months ago by
 Description modified (diff)
comment:188 Changed 9 months ago by
 Description modified (diff)
comment:189 Changed 9 months ago by
 Description modified (diff)
comment:190 Changed 9 months ago by
 Description modified (diff)
comment:191 Changed 9 months ago by
 Description modified (diff)
comment:192 Changed 8 months ago by
 Description modified (diff)
comment:193 Changed 8 months ago by
 Description modified (diff)
comment:194 Changed 8 months ago by
 Description modified (diff)
comment:195 Changed 8 months ago by
 Description modified (diff)
comment:196 Changed 7 months ago by
 Milestone changed from sage9.5 to sage9.6
comment:197 Changed 7 months ago by
 Description modified (diff)
comment:198 Changed 7 months ago by
 Description modified (diff)
comment:199 Changed 6 months ago by
 Description modified (diff)
comment:200 Changed 6 months ago by
 Description modified (diff)
comment:201 Changed 6 months ago by
 Description modified (diff)
comment:202 Changed 5 months ago by
 Description modified (diff)
comment:203 Changed 5 months ago by
 Description modified (diff)
comment:204 Changed 5 months ago by
 Description modified (diff)
comment:205 Changed 5 months ago by
 Milestone changed from sage9.6 to sage9.7
comment:206 Changed 4 months ago by
 Description modified (diff)
comment:207 Changed 4 months ago by
 Cc aschilling added
comment:208 Changed 4 months ago by
 Description modified (diff)
comment:209 Changed 4 months ago by
 Description modified (diff)
comment:210 Changed 4 months ago by
 Description modified (diff)
comment:211 Changed 4 months ago by
 Description modified (diff)
comment:212 Changed 4 months ago by
 Description modified (diff)
comment:213 Changed 4 months ago by
 Description modified (diff)
comment:214 Changed 4 months ago by
 Description modified (diff)
comment:215 Changed 4 months ago by
 Description modified (diff)
comment:216 Changed 4 months ago by
 Description modified (diff)
comment:217 Changed 4 months ago by
 Description modified (diff)
comment:218 Changed 4 months ago by
 Description modified (diff)
comment:219 Changed 4 months ago by
 Description modified (diff)
comment:220 Changed 4 months ago by
 Description modified (diff)
comment:221 Changed 4 months ago by
 Description modified (diff)
comment:222 Changed 3 months ago by
 Description modified (diff)
comment:223 Changed 3 months ago by
 Description modified (diff)
comment:224 Changed 3 months ago by
 Description modified (diff)
comment:225 Changed 3 months ago by
 Description modified (diff)
comment:226 Changed 3 months ago by
 Description modified (diff)
comment:227 Changed 3 months ago by
 Description modified (diff)
comment:228 Changed 5 weeks ago by
 Description modified (diff)
comment:229 Changed 5 weeks ago by
 Description modified (diff)
comment:230 Changed 5 weeks ago by
 Description modified (diff)
comment:231 Changed 4 weeks ago by
 Description modified (diff)
comment:232 Changed 3 weeks ago by
 Description modified (diff)
Last 10 new commits:
is_package_or_namespace_package_dir: Recognize namespace packages by file 'namespace'
src/module_list.py: Remove explicit list of sage.numerical.backends extensions
sage_setup/command/sage_install.py: WIP: Disable cleaning
src/module_list.py: Remove explicit listing of sage.graphs.graph_decompositions extensions
Merge branch 't/28925/modify_find_python_sources__clean_stale_files_to_support_modularization_of_sagelib_by_native_namespace_packages__pep_420_' into HEAD
build/pkgs/coxeter3/distros/fedora.txt: New
src/module_list.py: Move OptionalExtension options for sage.libs.coxeter3.coxeter to distutils directive
src/sage/libs/coxeter3/decl.pxd: Add coxeter/ prefix to all header includes; src/module_list.py: remove include_dirs option
build/pkgs/coxeter3/spkgconfigure.m4: New
Merge branch 't/29721/spkg_configure_m4_for_coxeter3' into HEAD