Opened 19 months ago

Last modified 16 months ago

#29701 closed enhancement

Replace use of module_list and OptionalExtension by extending find_python_sources — at Version 16

Reported by: mkoeppe Owned by:
Priority: critical Milestone: sage-9.2
Component: refactoring Keywords:
Cc: fbissey, isuruf, vdelecroix, dcoudert, dimpase, gh-kliem, vbraun Merged in:
Authors: Matthias Koeppe Reviewers:
Report Upstream: N/A Work issues:
Branch: u/mkoeppe/replace_use_of_module_list_optionalextension (Commits, GitHub, GitLab) Commit: ec7e9c599aebbec9b8a9227399cf6b8793dccd72
Dependencies: #29702 (#29411), #29706, #29720, #29721, #29785, #29786, #29790, #29791 Stopgaps:

Status badges

Description (last modified by mkoeppe)

We add two new features to find_python_sources: finding Cython extensions, and filtering by "distributions". We remove the use of module_list, finding Cython extensions instead in the source tree. (This is prepared by #29706 and follow-up tickets by moving Extension options to directives in the source files.)

We remove OptionalExtensions as follows. We map installed packages to "distributions" (for example, tdlib -> sage-tdlib) and then filter by distribution.

Follow-up tickets:

  • as part of Meta-ticket #29705, we will make these "distributions" actually separate distutils packages
  • remove the file module_list.py (not done on this ticket to avoid possible merge conflicts), deprecate OptionalExtension (which may be in use by user packages?)

Change History (16)

comment:1 Changed 19 months ago by mkoeppe

  • Description modified (diff)
  • Summary changed from Replace use of OptionalExtension by namespace packages to Meta-ticket: Replace use of OptionalExtension by namespace packages

comment:2 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:3 Changed 19 months ago by mkoeppe

  • Cc vdelecroix dcoudert dimpase added
  • Description modified (diff)

comment:4 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:5 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:6 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:7 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:8 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:9 Changed 18 months ago by mkoeppe

  • Description modified (diff)

comment:10 Changed 18 months ago by mkoeppe

  • Cc gh-kliem added
  • Dependencies set to #29411, #29702, #29706, #29720, #29721, #29785, #29786, #29790, #29791, #28925
  • Description modified (diff)
  • Summary changed from Meta-ticket: Replace use of OptionalExtension by namespace packages to Replace use of module_list and OptionalExtension by extending find_python_sources

comment:11 Changed 18 months ago by mkoeppe

  • Branch set to u/mkoeppe/replace_use_of_module_list_optionalextension

comment:12 Changed 18 months ago by mkoeppe

  • Commit set to 891d12aeacd439cd72e31d42399826f48dae624f
  • Dependencies changed from #29411, #29702, #29706, #29720, #29721, #29785, #29786, #29790, #29791, #28925 to #29411, #29702, #29706, #29720, #29721, #29785, #29786, #29790, #29791
  • Description modified (diff)

Last 10 new commits:

4365e5dMerge 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/META-modularize-sagelib
9dc7022Merge 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_
f78b06dsrc/module_list.py: Move options for Extensions in sage.libs to distutils directives
1b0e29dsrc/module_list.py: Move options for Extensions in sage.matrix to distutils directives
6421e2csrc/module_list.py: Move remaining options for Extensions in sage.libs, sage.rings to distutils directives
b3d3d2fMerge branch 't/29791/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_6__last_' into t/29705/META-modularize-sagelib
2821934Fix sage_setup directives: Use distribution, not package
9052db4Merge branch 't/29720/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_2___optionalextensions_' into t/29705/META-modularize-sagelib
ff710eesrc/sage_setup/optional_extension.py (is_package_installed_and_updated): Factor out from OptionalExtension
891d12asrc/setup.py: Remove use of module_list.py; filter by distributions

comment:13 Changed 18 months ago by mkoeppe

  • Dependencies changed from #29411, #29702, #29706, #29720, #29721, #29785, #29786, #29790, #29791 to #29702 (#29411), #29706, #29720, #29721, #29785, #29786, #29790, #29791

comment:14 Changed 18 months ago by git

  • Commit changed from 891d12aeacd439cd72e31d42399826f48dae624f to ec7e9c599aebbec9b8a9227399cf6b8793dccd72

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

0295c8fsrc/module_list.py: Move options for Extensions in sage.graphs.graph_decompositions to distutils directives
b582789src/sage_setup/find.py: Filter by directive 'sage_setup: distribution = PKG', find Cython modules
63c64d5Merge 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
ae70c81src/sage_setup/optional_extension.py (is_package_installed_and_updated): Factor out from OptionalExtension
ec7e9c5src/setup.py: Remove use of module_list.py; filter by distributions

comment:15 Changed 18 months ago by mkoeppe

No longer on top of #28925, so no namespace package are involved any more for this ticket.

comment:16 Changed 18 months ago by mkoeppe

  • Authors set to Matthias Koeppe
  • Description modified (diff)
  • Status changed from new to needs_review
Note: See TracTickets for help on using tickets.