Opened 21 months ago
Last modified 5 days ago
#29705 new task
Metaticket: Modularize sagelib into separate distributions (pipinstallable packages) sagemath...
Reported by:  mkoeppe  Owned by:  

Priority:  major  Milestone:  sage9.6 
Component:  refactoring  Keywords:  sd109, sd110, sd111 
Cc:  vdelecroix, mjo, fbissey, isuruf, tscrim, ghkliem, jhpalmieri, ghtobiasdiez, defeo, ghthierryFreeBSD  Merged in:  
Authors:  Reviewers:  
Report Upstream:  N/A  Work issues:  
Branch:  Commit:  
Dependencies:  Stopgaps: 
Description (last modified by )
(From https://groups.google.com/d/msg/sagedevel/M9QTWtln6zU/UHwkrmTKBQAJ)
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.
 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)
 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.
 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.
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: These should therefore be in the same package sagemathobjects.
 The category framework cannot live without the integers (e.g. the output of
.cardinality()
expects an integer).
Possible 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
One can try to not populate the whole category system.
Tickets for Sage 9.2:
 #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:
 #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:
 #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:
 #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:
 #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
 #32986
sage.misc.temporary_file
: MoveSAGE_TMP
implementation here  #32881/#32888 Feature for
sage.rings.padics
etc.  #32893 Feature for palp
 #32989/#32999/#33000/#33007/#33146/#33199/#33202 Remove imports from
sage.*.all
 #29941: Modularization of sagelib: Break out a separate packages sagemathenvironment, sagemathrepl
 #32927
build/pkgs/sagelib
: Invoke install cleaner explicitly, remove it frompkgs/sagemathstandard/setup.py
 #32874 Remove use of
setup.py install
for sagelib  #32406: Make
./configure enableeditable
the default  #33033 Prepare
sage.doctest
for namespace packages  #28925 Modify
find_python_sources
to support modularization ofsagelib
by native namespace packages (PEP 420), rework sagemathobjects, sagemathcategories as namespace packages  #33011 Remove
__init__.py
files for packages designated to be namespace packages  #33017
LazyImport.__instancecheck__
,__subclasscheck__
: ReturnFalse
onImportError
 #29870:
Move sage.structure.formal_sum
tosage.modules
 #32360 Merge
cypari
,cypari2
; replacecysignal
's optional PARI dependency by a general hook #32431
cysignals
: Replace compiletime dependency on pari by runtime dispatch
 #32431
 #33029 Feature and doctest tag for runtime cython
 #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  #30748 Convert startup methods to context manager
 #32601: Modularization of sagelib: Break out a separate package sagemathstandardnosymbolics
 #32432: Modularization of sagelib: Break out a separate package sagemathpolyhedra
 #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
 #30036:
sage_confpypi
: API for incremental builds  #29041
sage_bootstrap
: Add commandsage package list output={installrequires,requirements,pipfile,debian,....}
 #30647: Make
lazy_import
more friendly to pyflakes and other static checkers  #30152:
sage_setup
: Modifyclean_stale_files
to support outoftree namespace packages  #32586: Prepare use of
sage.all
insage.structure.factory.lookup_global
for modularized distributions  Deploy mildly modularized distributions sagemathcore, sagemathtdlib, ... to PyPI.
 #32700: Modularization of sagelib: Distribution sagemathgsl
 #30151: Modularization of sagelib: Break out a separate package sagemathmeataxe
 #29864: Modularization of sagelib: Break out a separate package sagemathtdlib
 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
 Further modularization:
 #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
)
 Perhaps move the toplevel scripts (
sage
,sageenv
) to a separate package sagemathscripts. This will allow users to run, for example,sage sh
before sagelib is installed.  #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
 #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
 #31251 Metaticket: Distribution as wheels
Change History (198)
comment:1 Changed 21 months ago by
 Description modified (diff)
comment:2 Changed 21 months ago by
 Description modified (diff)
comment:3 Changed 21 months ago by
 Description modified (diff)
comment:4 Changed 21 months ago by
 Description modified (diff)
comment:5 Changed 21 months ago by
 Description modified (diff)
comment:6 Changed 21 months ago by
 Description modified (diff)
comment:7 Changed 20 months ago by
 Keywords sd109 added
comment:8 Changed 20 months ago by
 Branch set to u/mkoeppe/METAmodularizesagelib
comment:9 Changed 20 months ago by
 Cc ghkliem jhpalmieri added
 Commit set to 06a59119edb6d28e9b7cf8ca1bb192d7991ed5d5
comment:10 Changed 20 months ago by
 Description modified (diff)
comment:11 Changed 20 months ago by
 Description modified (diff)
comment:12 Changed 20 months 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 20 months 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 20 months ago by
 Description modified (diff)
comment:15 Changed 20 months 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 20 months 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 20 months ago by
 Description modified (diff)
comment:18 Changed 20 months ago by
 Description modified (diff)
comment:19 Changed 20 months ago by
 Summary changed from Metaticket: Modularize sagelib into separate distutils packages to Metaticket: Modularize sagelib into separate distributions (distutils packages)
comment:20 Changed 20 months ago by
 Description modified (diff)
comment:21 Changed 20 months ago by
 Description modified (diff)
comment:22 Changed 20 months 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 20 months ago by
 Description modified (diff)
comment:24 Changed 20 months 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 20 months ago by
 Description modified (diff)
comment:26 Changed 20 months ago by
 Description modified (diff)
comment:27 Changed 20 months 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 20 months ago by
 Description modified (diff)
comment:29 Changed 20 months 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 20 months 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 20 months ago by
 Commit changed from 9b59435fd22b5dc984d0f069919662a60064d096 to 19e061d300198bb387b9f057af7b1128dcd23e90
comment:32 Changed 20 months 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 20 months ago by
 Description modified (diff)
comment:34 Changed 20 months ago by
 Description modified (diff)
comment:35 Changed 20 months ago by
 Description modified (diff)
comment:36 Changed 20 months ago by
 Commit changed from c3593b2c75a5930108bea71ee4143301487ed65d to 458d8514eec1cfdaaf351d61e667636e6cd0b025
comment:37 Changed 20 months ago by
 Commit changed from 458d8514eec1cfdaaf351d61e667636e6cd0b025 to 70425649041b04e5d2a04d755f7577f4e8ff1237
comment:38 Changed 20 months 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 20 months 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 20 months ago by
 Description modified (diff)
comment:41 Changed 20 months ago by
 Description modified (diff)
comment:42 Changed 20 months ago by
 Description modified (diff)
comment:43 Changed 20 months ago by
 Description modified (diff)
comment:44 Changed 20 months ago by
 Description modified (diff)
comment:45 Changed 20 months ago by
 Description modified (diff)
comment:46 Changed 19 months ago by
 Description modified (diff)
comment:47 Changed 19 months ago by
 Description modified (diff)
comment:48 Changed 19 months ago by
 Description modified (diff)
comment:49 Changed 19 months ago by
 Milestone changed from sage9.3 to sage9.2
comment:50 Changed 19 months ago by
 Description modified (diff)
comment:51 Changed 19 months ago by
 Description modified (diff)
comment:52 Changed 19 months ago by
 Description modified (diff)
comment:53 Changed 19 months ago by
 Description modified (diff)
comment:54 Changed 19 months ago by
 Description modified (diff)
comment:55 Changed 19 months ago by
 Description modified (diff)
comment:56 Changed 18 months ago by
 Description modified (diff)
comment:57 Changed 18 months ago by
 Description modified (diff)
comment:58 Changed 18 months ago by
 Description modified (diff)
comment:59 Changed 18 months ago by
 Description modified (diff)
comment:60 Changed 18 months ago by
 Branch u/mkoeppe/METAmodularizesagelib deleted
 Commit 2ccf6b72ab85e3818053608514350b6049a9ca31 deleted
 Description modified (diff)
comment:61 Changed 18 months ago by
 Cc ghtobiasdiez added
comment:62 Changed 17 months ago by
 Description modified (diff)
 Milestone changed from sage9.2 to sage9.3
comment:63 Changed 17 months ago by
 Description modified (diff)
comment:64 Changed 17 months ago by
 Description modified (diff)
comment:65 Changed 17 months ago by
 Description modified (diff)
comment:66 Changed 17 months ago by
 Description modified (diff)
comment:67 Changed 17 months ago by
 Description modified (diff)
comment:68 Changed 17 months ago by
 Description modified (diff)
comment:69 Changed 17 months ago by
 Description modified (diff)
comment:70 Changed 17 months ago by
 Description modified (diff)
comment:71 Changed 16 months ago by
 Description modified (diff)
comment:72 Changed 16 months ago by
 Description modified (diff)
comment:73 Changed 16 months ago by
 Description modified (diff)
comment:74 Changed 16 months ago by
 Description modified (diff)
comment:75 Changed 16 months ago by
 Description modified (diff)
comment:76 Changed 16 months ago by
 Description modified (diff)
comment:77 Changed 16 months ago by
 Description modified (diff)
comment:78 Changed 16 months ago by
 Description modified (diff)
comment:79 Changed 15 months ago by
 Description modified (diff)
 Keywords sd110 added
comment:80 Changed 15 months ago by
 Cc defeo added
comment:81 Changed 15 months ago by
 Description modified (diff)
comment:82 Changed 15 months ago by
 Description modified (diff)
comment:83 Changed 15 months ago by
 Description modified (diff)
comment:84 Changed 15 months ago by
 Description modified (diff)
comment:85 Changed 15 months ago by
 Description modified (diff)
comment:86 Changed 15 months ago by
 Description modified (diff)
comment:87 Changed 15 months ago by
 Description modified (diff)
comment:88 Changed 15 months ago by
 Description modified (diff)
comment:89 Changed 15 months ago by
 Description modified (diff)
comment:90 Changed 15 months ago by
 Description modified (diff)
comment:91 Changed 14 months ago by
 Keywords sd111 added
comment:92 Changed 14 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 14 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 14 months ago by
 Description modified (diff)
comment:95 Changed 14 months ago by
 Description modified (diff)
comment:96 Changed 14 months ago by
 Description modified (diff)
comment:97 Changed 14 months ago by
 Description modified (diff)
comment:98 Changed 13 months ago by
 Description modified (diff)
comment:99 Changed 12 months ago by
 Description modified (diff)
comment:100 Changed 12 months ago by
 Description modified (diff)
comment:101 Changed 12 months ago by
 Description modified (diff)
comment:102 Changed 12 months ago by
 Description modified (diff)
comment:103 Changed 12 months ago by
 Description modified (diff)
comment:104 Changed 12 months ago by
 Description modified (diff)
comment:105 Changed 12 months ago by
 Description modified (diff)
comment:106 Changed 12 months ago by
 Description modified (diff)
comment:107 Changed 12 months ago by
 Description modified (diff)
comment:108 Changed 12 months ago by
 Description modified (diff)
comment:109 Changed 12 months ago by
 Description modified (diff)
comment:110 Changed 12 months ago by
 Description modified (diff)
comment:111 Changed 12 months ago by
 Description modified (diff)
comment:112 Changed 12 months ago by
 Description modified (diff)
comment:113 Changed 11 months ago by
 Description modified (diff)
comment:114 Changed 11 months ago by
 Description modified (diff)
comment:115 Changed 11 months ago by
 Description modified (diff)
comment:116 Changed 11 months ago by
 Description modified (diff)
comment:117 Changed 11 months ago by
 Description modified (diff)
comment:118 Changed 11 months ago by
 Description modified (diff)
comment:119 Changed 11 months ago by
 Cc ghthierryFreeBSD added
comment:120 Changed 10 months ago by
 Description modified (diff)
comment:121 Changed 10 months ago by
 Description modified (diff)
comment:122 Changed 10 months ago by
 Description modified (diff)
comment:123 Changed 10 months ago by
 Description modified (diff)
comment:124 Changed 10 months ago by
 Description modified (diff)
comment:125 Changed 10 months ago by
 Description modified (diff)
comment:126 Changed 10 months ago by
 Description modified (diff)
comment:127 Changed 10 months ago by
 Milestone changed from sage9.3 to sage9.4
comment:128 Changed 9 months ago by
 Description modified (diff)
comment:129 Changed 8 months ago by
 Description modified (diff)
comment:130 Changed 7 months ago by
 Description modified (diff)
comment:131 Changed 7 months ago by
 Description modified (diff)
comment:132 Changed 7 months ago by
 Description modified (diff)
comment:133 Changed 7 months ago by
 Description modified (diff)
comment:134 Changed 7 months ago by
 Description modified (diff)
comment:135 Changed 7 months ago by
 Description modified (diff)
comment:136 Changed 7 months ago by
 Description modified (diff)
comment:137 Changed 7 months ago by
 Description modified (diff)
comment:138 Changed 6 months ago by
 Description modified (diff)
comment:139 Changed 6 months ago by
 Milestone changed from sage9.4 to sage9.5
comment:140 Changed 6 months ago by
 Description modified (diff)
comment:141 Changed 6 months ago by
 Description modified (diff)
comment:142 Changed 6 months ago by
 Description modified (diff)
comment:143 Changed 5 months ago by
 Description modified (diff)
comment:144 Changed 5 months ago by
 Description modified (diff)
comment:145 Changed 5 months ago by
 Description modified (diff)
comment:146 Changed 5 months ago by
 Description modified (diff)
comment:147 Changed 5 months ago by
 Description modified (diff)
comment:148 Changed 5 months ago by
 Description modified (diff)
comment:149 Changed 5 months ago by
 Description modified (diff)
comment:150 Changed 5 months ago by
 Description modified (diff)
comment:151 Changed 5 months ago by
 Description modified (diff)
comment:152 Changed 5 months ago by
 Description modified (diff)
comment:153 Changed 5 months ago by
 Description modified (diff)
comment:154 Changed 5 months ago by
 Description modified (diff)
comment:155 Changed 5 months ago by
 Description modified (diff)
comment:156 Changed 5 months ago by
 Description modified (diff)
comment:157 Changed 5 months ago by
 Description modified (diff)
comment:158 Changed 5 months ago by
 Description modified (diff)
comment:159 Changed 5 months ago by
 Description modified (diff)
comment:160 Changed 4 months ago by
 Description modified (diff)
comment:161 Changed 4 months ago by
 Description modified (diff)
comment:162 Changed 4 months ago by
 Description modified (diff)
comment:163 Changed 4 months ago by
 Description modified (diff)
comment:164 Changed 4 months ago by
 Description modified (diff)
comment:165 Changed 4 months ago by
 Description modified (diff)
comment:166 Changed 4 months ago by
 Description modified (diff)
comment:167 Changed 4 months ago by
 Description modified (diff)
comment:168 Changed 4 months ago by
 Description modified (diff)
comment:169 Changed 4 months ago by
 Description modified (diff)
comment:170 Changed 4 months ago by
 Description modified (diff)
comment:171 Changed 4 months ago by
 Description modified (diff)
comment:172 Changed 4 months ago by
 Description modified (diff)
comment:173 Changed 4 months ago by
 Description modified (diff)
comment:174 Changed 4 months ago by
 Description modified (diff)
comment:175 Changed 3 months ago by
 Description modified (diff)
comment:176 Changed 3 months ago by
 Description modified (diff)
comment:177 Changed 3 months ago by
 Description modified (diff)
comment:178 Changed 3 months ago by
 Description modified (diff)
comment:179 Changed 3 months ago by
 Description modified (diff)
comment:180 Changed 3 months ago by
 Description modified (diff)
comment:181 Changed 3 months ago by
 Description modified (diff)
comment:182 Changed 3 months ago by
 Description modified (diff)
comment:183 Changed 3 months ago by
 Description modified (diff)
comment:184 Changed 3 months ago by
 Description modified (diff)
comment:185 Changed 2 months ago by
 Description modified (diff)
comment:186 Changed 2 months ago by
 Description modified (diff)
comment:187 Changed 2 months ago by
 Description modified (diff)
comment:188 Changed 2 months ago by
 Description modified (diff)
comment:189 Changed 2 months ago by
 Description modified (diff)
comment:190 Changed 8 weeks ago by
 Description modified (diff)
comment:191 Changed 8 weeks ago by
 Description modified (diff)
comment:192 Changed 7 weeks ago by
 Description modified (diff)
comment:193 Changed 7 weeks ago by
 Description modified (diff)
comment:194 Changed 6 weeks ago by
 Description modified (diff)
comment:195 Changed 6 weeks ago by
 Description modified (diff)
comment:196 Changed 3 weeks ago by
 Milestone changed from sage9.5 to sage9.6
comment:197 Changed 5 days ago by
 Description modified (diff)
comment:198 Changed 5 days 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