Opened 2 years ago
Last modified 4 weeks ago
#29864 new enhancement
Modularization of sagelib: Create modular packages sagecore, sagetdlib — at Version 15
Reported by:  Matthias Köppe  Owned by:  

Priority:  major  Milestone:  sage9.8 
Component:  build  Keywords:  sd111 
Cc:  Tobias Diez  Merged in:  
Authors:  Matthias Koeppe  Reviewers:  
Report Upstream:  N/A  Work issues:  rebase; create sagecore; don't change sagelib 
Branch:  u/mkoeppe/modularizationsagetdlib (Commits, GitHub, GitLab)  Commit:  16a9b2e757be1505ad3c7d714175a24757082420 
Dependencies:  #28925, #29500, #29847  Stopgaps: 
Description (last modified by )
The new package sagetdlib
represents the old OptionalExtension
sage.graphs.graph_decompositions.tdlib
(building upon #29701, #28925). We use it as an example package for the modularization.
See build/pkgs/sage_tdlib/spkginstall for an overview of the intended implementation targeting Sage 9.3.
sagecore
is a version of sagelib
 as of this ticket, consisting of everything in sagelib
except for sage.graphs.graph_decompositions.tdlib
.
sagecore
and sage_tdlib
do not use the incremental install mechanism of sagelib (sage_setup.command.sage_install.sage_install_and_clean
). They use a simple setuptools build system.
Ideally, they would use a shared src/setup.py
and provide the distribution info via their own setup.cfg
.
This is part of #29705: Metaticket: Modularize sagelib into separate distributions (distutils packages)
Change History (15)
comment:1 Changed 2 years ago by
Branch:  → u/mkoeppe/modularizationsagetdlib 

comment:2 Changed 2 years ago by
Commit:  → 2ccf6b72ab85e3818053608514350b6049a9ca31 

Milestone:  sage9.2 → sage9.3 
comment:3 Changed 2 years ago by
Work issues:  → rebase 

comment:4 Changed 2 years ago by
Work issues:  rebase → rebase; create sagecore; don't change sagelib 

comment:5 Changed 2 years ago by
Dependencies:  #29702, #29701, #28197, #28925, #29803 → #28925 

Description:  modified (diff) 
comment:6 Changed 2 years ago by
Description:  modified (diff) 

Summary:  Modularization of sagelib: Break out a separate package sagetdlib → Modularization of sagelib: Create modular packages sagecore, sagetdlib 
comment:7 Changed 2 years ago by
Cc:  Tobias Diez added 

Dependencies:  #28925 → #28925, #29847 
comment:8 Changed 2 years ago by
Description:  modified (diff) 

comment:10 Changed 2 years ago by
Commit:  2ccf6b72ab85e3818053608514350b6049a9ca31 → bf1c01196ad763691e8afc8f454720950f3f6fda 

Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
e8d1a23  src/setup.py: from setuptools import setup

c99dab5  Add src/setup.cfg

67189ba  WIP: Add sage_tdlib package, use symlinks for sagelib package

5d85487  build/pkgs/sage_tdlib/src/MANIFEST.in: New

bf5dddc  fixup symlinks

6d5e4f5  build/pkgs/sage_tdlib/src/sage_setup: Remove, we use the installed one

4cd5176  Use setup.py install singleversionexternallymanaged

577f338  build/pkgs/sage_tdlib/spkgsrc: New

8b972d7  build/pkgs/sage_tdlib/dependencies: Add sagelib, python toolchain

bf1c011  Install sagelib, sage_tdlib via sdist defined by MANIFEST.in

comment:11 Changed 2 years ago by
Commit:  bf1c01196ad763691e8afc8f454720950f3f6fda → 59a33def20d5fb672b039f1513ae2643fe315ce5 

Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
2e61ada  sage.numerical.backends: Make it a namespace package by removing __init__.py (which was empty)

26b1ca0  Mark src and src/sage/ext_data as directories that are not namespace packages

a733af5  sage_setup.find.find_python_sources: Handle native namespace packages, 'nonamespace' files

c08c511  is_package_or_namespace_package_dir: New, recognize namespace packages by file 'namespace', monkeypatch into Cython

4407e5e  sage_setup.command.sage_install.sage_install: Rename to sage_install_and_clean, update use it in src/setup.py; refactor through new class sage_install

a13c126  Make sage.graphs, sage.matrix, sage.libs, sage.interfaces namespace packages

a967aca  WIP

c746965  sage_setup/command/sage_install.py: WIP: Disable cleaning

6ba4212  WIP: Add sage_tdlib package, use symlinks for sagelib package

59a33de  Install sagelib, sage_tdlib via sdist defined by MANIFEST.in

comment:12 Changed 2 years ago by
Dependencies:  #28925, #29847 → #28925, #29500, #29847 

Description:  modified (diff) 
comment:13 Changed 2 years ago by
Commit:  59a33def20d5fb672b039f1513ae2643fe315ce5 → 16a9b2e757be1505ad3c7d714175a24757082420 

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
a315ba6  Merge branch 't/28925/modify_find_python_sources__clean_stale_files_to_support_modularization_of_sagelib_by_native_namespace_packages__pep_420_' into t/29864/modularizationsagetdlib

4a30688  WIP: Add sage_tdlib package, use symlinks for sagelib package

16a9b2e  Install sagelib, sage_tdlib via sdist defined by MANIFEST.in

comment:14 Changed 2 years ago by
comment:15 Changed 2 years ago by
Description:  modified (diff) 

Last 10 new commits:
WIP: Add sage_tdlib package, use symlinks for sagelib package
build/pkgs/sage_tdlib/src/MANIFEST.in: New
fixup symlinks
build/pkgs/sage_tdlib/src/sage_setup: Remove, we use the installed one
Use setup.py install singleversionexternallymanaged
build/pkgs/sage_tdlib/spkgsrc: New
build/pkgs/sage_tdlib/dependencies: Add sagelib, python toolchain
build/pkgs/sagelib/spkgsrc: New
Install sagelib, sage_tdlib via sdist defined by MANIFEST.in
Merge tag '9.2.beta1' into t/29705/METAmodularizesagelib