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

Priority:  major  Milestone:  sage9.4 
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.
Presentation video: https://researchseminars.org/talk/SageDays110/11/
 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 hastdlib
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 distutils 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.
 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 (distutils package)
 #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 used for the deployment of Sage 9.3 to PyPI and sagewheels:
 #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  #29039: pipinstallable version of package
sage_conf
 installs nonPython bits of the Sage distribution in~/.sage/
 #31396: relocatable wheel version of package
sage_conf
 #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
Tickets for Sage 9.4:
 #29847: Install
sage_setup
withsetuptools
as a build prerequisite for building/installing sagelib. Deploysage_setup
to PyPI.  #31543: Eliminate use of patches for Python packages
 #30911: src/tox.ini: Add "develop" environment
 #31386: Move list of scripts from
setup.py
tosetup.cfg
 #31031 Change
sage_setup: distribution
headers fromsage...
tosagemath...
 #30527: Create PEP 503 simple repository for wheels built during installation
 #31420: Review/remove monkey patching in
src/sage/__init__.py
 #30036:
sage_confpypi
: API for incremental builds  #30778
sage.doctest.control
: Exclude doctests in files via filelevel directives  #30896:
./configure withoutsagevenv
 #31333:
sage.env.sage_include_directories
: Remove hard dependency onnumpy
 #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  #29868: pipinstallable packages
sagemathdoc...
 #28925 Modify
find_python_sources
,clean_stale_files
to support modularization ofsagelib
by native namespace packages (PEP 420)  possibly move
build/pkgs/sage_conf/src/sage_conf.py[.in]
intosrc/
, mark it (and alsosrc/bin/sageenvconfig[.in]
)# sage_setup: distribution = sage_conf
.  #29041
sage_bootstrap
: Add commandsage package list output={installrequires,requirements,pipfile,debian,....}
 #30151: Modularization of sagelib: Break out a separate package
sagemathmeataxe
 Deploy mildly modularized distributions
sagemathcore
,sagemathtdlib
, ... to PyPI. #29864: Modularization of sagelib: Break out a separate package
sagemathtdlib
sagemathgiac
(exgiacpy_sage
insage.libs.giac
+ dependency onlibgiac
)sagemathbrial
(exsagebrial
insage.rings.polynomial.pbori
+sage.libs.polybori
,sage.crypto.boolean_function
) #30716 Towards making Arb library optional
 #29864: Modularization of sagelib: Break out a separate package
 #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.  #29875:
sage.structure.coerce.py_scalar_parent
,py_scalar_to_element
: Make dynamic  #29877:
sage.categories
: Replace import ofZZ
bypy_scalar_parent(int)
 #30746
sage.doctest.control
: Replace use of sage.misc.package.list_packages  #30371: Inplace (editable) installs of sagelib in a venv
Tickets for Sage 9.5:
 #30152:
sage_setup
: Modifyclean_stale_files
to support outoftree namespace packages  Further modularization:
 Rework
sagemathobjects
,sagemathcategories
as namespace packages.  #29912: Modularization of sagelib: Break out a separate package
sagemathntl
 Modularization of sagelib: Break out a separate package
sageflintarbe_antic
 #29941: Modularization of sagelib: Break out a separate package
sagemathrepl
 Modularization of sagelib: Break out a separate package
sagemathmaxima
(depends on ecl and maxima, packagessage.interfaces.maxima*
,sage.libs.ecl
)... orsagemathcalculus
(?) sagemathsingular
 #31444 Modularization of sagelib: Break out separate package
sagemathlinbox
 #31695 Modularization of sagelib: Break out separate package
sagemathsymbolics
 Rework
 #30534 Repackage
pynac
as a pipinstallable package  #29874: Mock integer class
 #29845: PEP 517
buildapi
forsage_setup
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
 #30818 Metaticket: Set environment for subprocesses invoked by Sage
Change History (128)
comment:1 Changed 12 months ago by
 Description modified (diff)
comment:2 Changed 12 months ago by
 Description modified (diff)
comment:3 Changed 12 months ago by
 Description modified (diff)
comment:4 Changed 12 months ago by
 Description modified (diff)
comment:5 Changed 12 months ago by
 Description modified (diff)
comment:6 Changed 12 months ago by
 Description modified (diff)
comment:7 Changed 12 months ago by
 Keywords sd109 added
comment:8 Changed 12 months ago by
 Branch set to u/mkoeppe/METAmodularizesagelib
comment:9 Changed 12 months ago by
 Cc ghkliem jhpalmieri added
 Commit set to 06a59119edb6d28e9b7cf8ca1bb192d7991ed5d5
comment:10 Changed 12 months ago by
 Description modified (diff)
comment:11 Changed 12 months ago by
 Description modified (diff)
comment:12 Changed 12 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 12 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 12 months ago by
 Description modified (diff)
comment:15 Changed 12 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 12 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 12 months ago by
 Description modified (diff)
comment:18 Changed 12 months ago by
 Description modified (diff)
comment:19 Changed 12 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 12 months ago by
 Description modified (diff)
comment:21 Changed 12 months ago by
 Description modified (diff)
comment:22 Changed 12 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 12 months ago by
 Description modified (diff)
comment:24 Changed 12 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 11 months ago by
 Description modified (diff)
comment:26 Changed 11 months ago by
 Description modified (diff)
comment:27 Changed 11 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 11 months ago by
 Description modified (diff)
comment:29 Changed 11 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 11 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 11 months ago by
 Commit changed from 9b59435fd22b5dc984d0f069919662a60064d096 to 19e061d300198bb387b9f057af7b1128dcd23e90
comment:32 Changed 11 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 11 months ago by
 Description modified (diff)
comment:34 Changed 11 months ago by
 Description modified (diff)
comment:35 Changed 11 months ago by
 Description modified (diff)
comment:36 Changed 11 months ago by
 Commit changed from c3593b2c75a5930108bea71ee4143301487ed65d to 458d8514eec1cfdaaf351d61e667636e6cd0b025
comment:37 Changed 11 months ago by
 Commit changed from 458d8514eec1cfdaaf351d61e667636e6cd0b025 to 70425649041b04e5d2a04d755f7577f4e8ff1237
comment:38 Changed 11 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 11 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 11 months ago by
 Description modified (diff)
comment:41 Changed 11 months ago by
 Description modified (diff)
comment:42 Changed 11 months ago by
 Description modified (diff)
comment:43 Changed 11 months ago by
 Description modified (diff)
comment:44 Changed 11 months ago by
 Description modified (diff)
comment:45 Changed 11 months ago by
 Description modified (diff)
comment:46 Changed 11 months ago by
 Description modified (diff)
comment:47 Changed 11 months ago by
 Description modified (diff)
comment:48 Changed 11 months ago by
 Description modified (diff)
comment:49 Changed 11 months ago by
 Milestone changed from sage9.3 to sage9.2
comment:50 Changed 11 months ago by
 Description modified (diff)
comment:51 Changed 11 months ago by
 Description modified (diff)
comment:52 Changed 10 months ago by
 Description modified (diff)
comment:53 Changed 10 months ago by
 Description modified (diff)
comment:54 Changed 10 months ago by
 Description modified (diff)
comment:55 Changed 10 months ago by
 Description modified (diff)
comment:56 Changed 9 months ago by
 Description modified (diff)
comment:57 Changed 9 months ago by
 Description modified (diff)
comment:58 Changed 9 months ago by
 Description modified (diff)
comment:59 Changed 9 months ago by
 Description modified (diff)
comment:60 Changed 9 months ago by
 Branch u/mkoeppe/METAmodularizesagelib deleted
 Commit 2ccf6b72ab85e3818053608514350b6049a9ca31 deleted
 Description modified (diff)
comment:61 Changed 9 months ago by
 Cc ghtobiasdiez added
comment:62 Changed 8 months ago by
 Description modified (diff)
 Milestone changed from sage9.2 to sage9.3
comment:63 Changed 8 months ago by
 Description modified (diff)
comment:64 Changed 8 months ago by
 Description modified (diff)
comment:65 Changed 8 months ago by
 Description modified (diff)
comment:66 Changed 8 months ago by
 Description modified (diff)
comment:67 Changed 8 months ago by
 Description modified (diff)
comment:68 Changed 8 months ago by
 Description modified (diff)
comment:69 Changed 8 months ago by
 Description modified (diff)
comment:70 Changed 8 months ago by
 Description modified (diff)
comment:71 Changed 8 months ago by
 Description modified (diff)
comment:72 Changed 8 months ago by
 Description modified (diff)
comment:73 Changed 8 months ago by
 Description modified (diff)
comment:74 Changed 8 months ago by
 Description modified (diff)
comment:75 Changed 8 months ago by
 Description modified (diff)
comment:76 Changed 7 months ago by
 Description modified (diff)
comment:77 Changed 7 months ago by
 Description modified (diff)
comment:78 Changed 7 months ago by
 Description modified (diff)
comment:79 Changed 7 months ago by
 Description modified (diff)
 Keywords sd110 added
comment:80 Changed 7 months ago by
 Cc defeo added
comment:81 Changed 7 months ago by
 Description modified (diff)
comment:82 Changed 6 months ago by
 Description modified (diff)
comment:83 Changed 6 months ago by
 Description modified (diff)
comment:84 Changed 6 months ago by
 Description modified (diff)
comment:85 Changed 6 months ago by
 Description modified (diff)
comment:86 Changed 6 months ago by
 Description modified (diff)
comment:87 Changed 6 months ago by
 Description modified (diff)
comment:88 Changed 6 months ago by
 Description modified (diff)
comment:89 Changed 6 months ago by
 Description modified (diff)
comment:90 Changed 6 months ago by
 Description modified (diff)
comment:91 Changed 6 months ago by
 Keywords sd111 added
comment:92 Changed 6 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 5 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 5 months ago by
 Description modified (diff)
comment:95 Changed 5 months ago by
 Description modified (diff)
comment:96 Changed 5 months ago by
 Description modified (diff)
comment:97 Changed 5 months ago by
 Description modified (diff)
comment:98 Changed 5 months ago by
 Description modified (diff)
comment:99 Changed 3 months ago by
 Description modified (diff)
comment:100 Changed 3 months ago by
 Description modified (diff)
comment:101 Changed 3 months ago by
 Description modified (diff)
comment:102 Changed 3 months ago by
 Description modified (diff)
comment:103 Changed 3 months ago by
 Description modified (diff)
comment:104 Changed 3 months ago by
 Description modified (diff)
comment:105 Changed 3 months ago by
 Description modified (diff)
comment:106 Changed 3 months ago by
 Description modified (diff)
comment:107 Changed 3 months ago by
 Description modified (diff)
comment:108 Changed 3 months ago by
 Description modified (diff)
comment:109 Changed 3 months ago by
 Description modified (diff)
comment:110 Changed 3 months ago by
 Description modified (diff)
comment:111 Changed 3 months ago by
 Description modified (diff)
comment:112 Changed 3 months ago by
 Description modified (diff)
comment:113 Changed 3 months ago by
 Description modified (diff)
comment:114 Changed 3 months ago by
 Description modified (diff)
comment:115 Changed 3 months ago by
 Description modified (diff)
comment:116 Changed 2 months ago by
 Description modified (diff)
comment:117 Changed 2 months ago by
 Description modified (diff)
comment:118 Changed 2 months ago by
 Description modified (diff)
comment:119 Changed 2 months ago by
 Cc ghthierryFreeBSD added
comment:120 Changed 2 months ago by
 Description modified (diff)
comment:121 Changed 8 weeks ago by
 Description modified (diff)
comment:122 Changed 8 weeks ago by
 Description modified (diff)
comment:123 Changed 8 weeks ago by
 Description modified (diff)
comment:124 Changed 6 weeks ago by
 Description modified (diff)
comment:125 Changed 6 weeks ago by
 Description modified (diff)
comment:126 Changed 5 weeks ago by
 Description modified (diff)
comment:127 Changed 5 weeks ago by
 Milestone changed from sage9.3 to sage9.4
comment:128 Changed 4 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