sagemath / sage

Main repository of SageMath. Now open for Issues and Pull Requests.
https://www.sagemath.org
Other
1.19k stars 412 forks source link

Distributions sagemath-{flint-arb,homfly,giac,gap}, add "sage_setup: distribution" to Cython modules #30666

Open mkoeppe opened 3 years ago

mkoeppe commented 3 years ago

Basically, we are making all external libraries optional, except for a minimal set of "core" libraries such as cysignals and gmpy2 (see #29865).

(from #30371): See #29705 under the items titled "Deploy mildly modularized distributions", "Further modularization" for a sketch of such distributions. Basically, one distribution for each major C/C++ library (such as sagemath-ntl) - but some libraries come in packs that would not make much sense to separate (such as sagemath-flint-arb-e_antic).

List of distributions:

To test:

In follow-up tickets:

This is preparation for Meta-ticket #29705 (Modularization) and #30371.

Depends on #31031 Depends on #34855 Depends on #34839

CC: @tobiasdiez @dimpase

Component: refactoring

Keywords: sd111

Author: Matthias Koeppe

Reviewer: Dima Pasechnik

Issue created by migration from https://trac.sagemath.org/ticket/30666

mkoeppe commented 3 years ago

Description changed:

--- 
+++ 
@@ -1,2 +1,6 @@
+... except for a minimal set of libraries such as `cysignals` and `gmpy2` (see #29865).
+
+(from #30371): See #29705 under the items titled "Deploy mildly modularized distributions", "Further modularization" for a sketch of such distributions. Basically, one distribution for each major C/C++ library (such as sage-ntl) - but some libraries come in packs that would not make much sense to separate (such as sage-flint-arb-e_antic).
+
 This is preparation for Meta-ticket #29705 (Modularization) and #30371.
mkoeppe commented 3 years ago

Description changed:

--- 
+++ 
@@ -2,5 +2,15 @@

 (from #30371): See #29705 under the items titled "Deploy mildly modularized distributions", "Further modularization" for a sketch of such distributions. Basically, one distribution for each major C/C++ library (such as sage-ntl) - but some libraries come in packs that would not make much sense to separate (such as sage-flint-arb-e_antic).

+List of distributions:
+
+- `sage-giac` (ex `giacpy_sage` in `sage.libs.giac` + dependency on `libgiac`)
+- `sage-brial` (ex `sage-brial` in `sage.rings.polynomial.pbori` +  `sage.libs.polybori`, `sage.crypto.boolean_function`)
+- `sage-ntl`
+- `sage-flint-arb-e_antic`
+- `sage-ecl` (`sage.libs.ecl`)
+- `sage-singular`
+- `sage-pynac`
+
 This is preparation for Meta-ticket #29705 (Modularization) and #30371.
mkoeppe commented 3 years ago

Description changed:

--- 
+++ 
@@ -1,4 +1,4 @@
-... except for a minimal set of libraries such as `cysignals` and `gmpy2` (see #29865).
+... except for a minimal set of "core" libraries such as `cysignals` and `gmpy2` (see #29865), which would require 

 (from #30371): See #29705 under the items titled "Deploy mildly modularized distributions", "Further modularization" for a sketch of such distributions. Basically, one distribution for each major C/C++ library (such as sage-ntl) - but some libraries come in packs that would not make much sense to separate (such as sage-flint-arb-e_antic).
mkoeppe commented 3 years ago

Description changed:

--- 
+++ 
@@ -1,4 +1,4 @@
-... except for a minimal set of "core" libraries such as `cysignals` and `gmpy2` (see #29865), which would require 
+Basically, we are making all external libraries optional, except for a minimal set of "core" libraries such as `cysignals` and `gmpy2` (see #29865). 

 (from #30371): See #29705 under the items titled "Deploy mildly modularized distributions", "Further modularization" for a sketch of such distributions. Basically, one distribution for each major C/C++ library (such as sage-ntl) - but some libraries come in packs that would not make much sense to separate (such as sage-flint-arb-e_antic).
tobiasdiez commented 3 years ago
comment:5

Good idea to separate this into a new ticket.

While working on #30371, I noticed that most cython files using singular cannot be compiled without pynac. So maybe these should be combined.

Also, I think, there should be distributions for GAP, CCObject, linbox, ratpoints, zn_poly and mari.

What do you think about renaming sage_setup: distribution to sage_setup: dependency? I think this better reflects the purpose. The distribution is then generated based on which dependencies are available. Another idea would be to use distutils: libraries which already contains some of the dependencies anyway (e.g. arb, gmp, flint).

mkoeppe commented 3 years ago
comment:6

Replying to @tobiasdiez:

While working on #30371, I noticed that most cython files using singular cannot be compiled without pynac. So maybe these should be combined.

I think they should be separate because I really want to be able to make singular optional. pynac, on the other hand, is essential for our symbolics implementation.

Also, I think, there should be distributions for GAP, CCObject, linbox, ratpoints, zn_poly and mari.

Yes, please add to the list in the ticket description with explanation (what is CCObject?)

What do you think about renaming sage_setup: distribution to sage_setup: dependency?

No, I wouldn't like that. As soon as you start with declaring "dependencies", there will be combinatorial explosion from the combinations of such dependencies. I really want a well-designed partition of the source files into (relatively few) disjoint distributions. This is crucial for the modularization -- each distribution will eventually be separately compilable and installable package on PyPI.

tobiasdiez commented 3 years ago

Description changed:

--- 
+++ 
@@ -11,6 +11,11 @@
 - `sage-ecl` (`sage.libs.ecl`)
 - `sage-singular`
 - `sage-pynac`
+- `sage-gap` (see #30371 setup.py for which files need GAP)
+- `sage-linbox` (see #30371 setup.py for which files need linbox)
+- `sage-ratpoints` (see #30371 setup.py for which files need ratpoints)
+- `sage-znpoly` (see #30371 setup.py for which files need zn_poly)
+- `sage-mari` (see #30371 setup.py for which files need mari)

 This is preparation for Meta-ticket #29705 (Modularization) and #30371.
tobiasdiez commented 3 years ago
comment:8

Ok, makes sense. Which distribution should be assigned to files that have two dependencies (e.g use pynac and singular)?

My idea was that the cython file declares which dependencies it has, and in the setup.py file you have a list of distributions and their dependencies. If all dependencies are met, that particular distribution is built. E.g. distribution "sage-singular" relies on "pynac" and "singular". (That's only a feeling, but it feels strange to have distributions determined by dependencies and not by a theme or subject, e.g. "sage-singular" vs "sage-symbolic calculation". But you have a better overview, so I trust you there.)

I've added the above distributions to the list. (Forget about CCObject, it was a missing import in #30371 that confused me.)

mkoeppe commented 3 years ago
comment:9

Replying to @tobiasdiez:

Which distribution should be assigned to files that have two dependencies (e.g use pynac and singular)?

Distributions can certainly depend on other distributions. sage-singular could depend on sage-pynac. Let's include this in the ticket description. (In the modularized build, sage-singular's setup.py or setup.cfg would have install_requires = sage-pynac.)

Also, often it is relatively easy to remove some of these dependencies by small changes to a few source files, moving a few methods around. See for example #29911. We can take work on this in follow-up tickets.

it feels strange to have distributions determined by dependencies and not by a theme or subject, e.g. "sage-singular" vs "sage-symbolic calculation".

Perhaps, but there is actually an important "political" (open source community) reason for this design too. By naming these components after major libraries that provide the features, we make these libraries and their important role for Sage more visible to end users. Attribution tends to be an important motivating factor to developers of these libraries.

mkoeppe commented 3 years ago
comment:10

To expand on this a little bit: I wouldn't rule out distributions named after topics. The present ticket only provides a "skeleton" of distributions that are (1) technically needed to take care of compile-time dependencies, (2) provides attribution. Later on (in follow-up tickets), for example, there could be a distribution sage-feature-padics or something like this that has sage-ntl as a dependency and packages sage.rings.padics.

tobiasdiez commented 3 years ago

Description changed:

--- 
+++ 
@@ -8,14 +8,87 @@
 - `sage-brial` (ex `sage-brial` in `sage.rings.polynomial.pbori` +  `sage.libs.polybori`, `sage.crypto.boolean_function`)
 - `sage-ntl`
 - `sage-flint-arb-e_antic`
+      - 'sage/libs/arb/arith.pyx',
+      - 'sage/matrix/matrix_complex_ball_dense.pyx',
+      - 'sage/rings/complex_arb.pyx',
+      - 'sage/rings/number_field/number_field_element_quadratic.pyx',
+      - 'sage/rings/polynomial/polynomial_complex_arb.pyx',
+      - 'sage/rings/real_arb.pyx'
 - `sage-ecl` (`sage.libs.ecl`)
-- `sage-singular`
+- `sage-singular`: (some of these files actually may be better put in the pynac distribution)
+      - 'sage/algebras/letterplace/free_algebra_element_letterplace.pyx',
+      - 'sage/algebras/letterplace/free_algebra_letterplace.pyx',
+      - 'sage/algebras/letterplace/letterplace_ideal.pyx',
+      - 'sage/libs/pynac/constant.pyx',
+      - 'sage/libs/pynac/pynac.pyx',
+      - 'sage/libs/singular/function.pyx',
+      - 'sage/libs/singular/groebner_strategy.pyx',
+      - 'sage/libs/singular/option.pyx',
+      - 'sage/libs/singular/polynomial.pyx',
+      - 'sage/libs/singular/ring.pyx',
+      - 'sage/libs/singular/singular.pyx',
+      - 'sage/matrix/matrix_mpolynomial_dense.pyx',
+      - 'sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx',
+      - 'sage/rings/polynomial/multi_polynomial_libsingular.pyx',
+      - 'sage/rings/polynomial/plural.pyx',
+      - 'sage/symbolic/comparison.pyx',
+      - 'sage/symbolic/constants_c.pyx',
+      - 'sage/symbolic/expression.pyx',
+      - 'sage/symbolic/function.pyx',
+      - 'sage/symbolic/getitem.pyx',
+      - 'sage/symbolic/ring.pyx',
+      - 'sage/symbolic/series.pyx',
+      - 'sage/symbolic/substitution_map.pyx',
 - `sage-pynac`
-- `sage-gap` (see #30371 setup.py for which files need GAP)
-- `sage-linbox` (see #30371 setup.py for which files need linbox)
-- `sage-ratpoints` (see #30371 setup.py for which files need ratpoints)
+- `sage-gap`:
+      - 'sage/coding/codecan/codecan.pyx',
+      - 'sage/combinat/enumeration_mod_permgroup.pyx',
+      - 'sage/combinat/root_system/reflection_group_c.pyx',
+      - 'sage/combinat/root_system/reflection_group_element.pyx',
+      - 'sage/graphs/spanning_tree.pyx',
+      - 'sage/groups/libgap_wrapper.pyx',
+      - 'sage/groups/matrix_gps/group_element.pyx',
+      - 'sage/groups/perm_gps/permgroup_element.pyx',
+      - 'sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.pyx',
+      - 'sage/groups/perm_gps/partn_ref/canonical_augmentation.pyx',
+      - 'sage/groups/perm_gps/partn_ref/data_structures.pyx',
+      - 'sage/groups/perm_gps/partn_ref/double_coset.pyx',
+      - 'sage/groups/perm_gps/partn_ref/refinement_binary.pyx',
+      - 'sage/groups/perm_gps/partn_ref/refinement_graphs.pyx',
+      - 'sage/groups/perm_gps/partn_ref/refinement_lists.pyx',
+      - 'sage/groups/perm_gps/partn_ref/refinement_matrices.pyx',
+      - 'sage/groups/perm_gps/partn_ref/refinement_python.pyx',
+      - 'sage/groups/perm_gps/partn_ref/refinement_sets.pyx',
+      - 'sage/groups/perm_gps/partn_ref2/refinement_generic.pyx',
+      - 'sage/libs/gap/element.pyx',
+      - 'sage/libs/gap/libgap.pyx',
+      - 'sage/libs/gap/util.pyx',
+      - 'sage/matrix/matrix_gap.pyx',
+      - 'sage/sets/disjoint_set.pyx'
+- `sage-linbox`:
+      - 'sage/libs/linbox/linbox_flint_interface.pyx',
+      - 'sage/matrix/matrix_integer_sparse.pyx',
+      - 'sage/matrix/matrix_modn_dense_double.pyx',
+      - 'sage/matrix/matrix_modn_dense_float.pyx',
+      - 'sage/matrix/matrix_modn_sparse.pyx'
+- `sage-ratpoints`: 'sage/libs/ratpoints.pyx', 'sage/schemes/elliptic_curves/descent_two_isogeny.pyx'
 - `sage-znpoly` (see #30371 setup.py for which files need zn_poly)
-- `sage-mari` (see #30371 setup.py for which files need mari)
+      - 'sage/modular/modsym/p1list.pyx',
+      - 'sage/modular/pollack_stevens/dist.pyx',
+      - 'sage/rings/fraction_field_FpT.pyx',
+      - 'sage/rings/polynomial/polynomial_zmod_flint.pyx',
+      - 'sage/schemes/hyperelliptic_curves/hypellfrob.pyx',
+- `sage-mari` (also requiring pbori and pbori-groebner):
+      - 'sage/matrix/matrix_gf2e_dense.pyx',
+      - 'sage/matrix/matrix_integer_dense.pyx',
+      - 'sage/matrix/matrix_mod2_dense.pyx',
+      - 'sage/matrix/matrix_rational_dense.pyx',
+      - 'sage/modules/vector_mod2_dense.pyx',
+      - 'sage/rings/polynomial/pbori/pbori.pyx',
+      - 'sage/rings/polynomial/polynomial_gf2x.pyx'
+- `sage-magma`: requires sage-ecl
+- `sage-giac`: 'sage/libs/giac/giac.pyx'
+- `sage-homfly`: 'sage/libs/homfly.pyx'

 This is preparation for Meta-ticket #29705 (Modularization) and #30371.
tobiasdiez commented 3 years ago

Description changed:

--- 
+++ 
@@ -8,6 +8,7 @@
 - `sage-brial` (ex `sage-brial` in `sage.rings.polynomial.pbori` +  `sage.libs.polybori`, `sage.crypto.boolean_function`)
 - `sage-ntl`
 - `sage-flint-arb-e_antic`
+      - 'sage/libs/arb/arb_version.pyx',
       - 'sage/libs/arb/arith.pyx',
       - 'sage/matrix/matrix_complex_ball_dense.pyx',
       - 'sage/rings/complex_arb.pyx',
mkoeppe commented 3 years ago
comment:13

Replying to @mkoeppe:

Replying to @tobiasdiez:

While working on #30371, I noticed that most cython files using singular cannot be compiled without pynac. So maybe these should be combined.

I think they should be separate because I really want to be able to make singular optional. pynac, on the other hand, is essential for our symbolics implementation.

When I wrote this, I didn't recall that singular's libfactory is actually a dependency of pynac. So I think you are right, it's best to have pynac and singular in one distribution (for now, at least).

mkoeppe commented 3 years ago

Changed keywords from none to sd111

mkoeppe commented 3 years ago

Description changed:

--- 
+++ 
@@ -1,13 +1,14 @@
 Basically, we are making all external libraries optional, except for a minimal set of "core" libraries such as `cysignals` and `gmpy2` (see #29865). 

-(from #30371): See #29705 under the items titled "Deploy mildly modularized distributions", "Further modularization" for a sketch of such distributions. Basically, one distribution for each major C/C++ library (such as sage-ntl) - but some libraries come in packs that would not make much sense to separate (such as sage-flint-arb-e_antic).
+(from #30371): See #29705 under the items titled "Deploy mildly modularized distributions", "Further modularization" for a sketch of such distributions. Basically, one distribution for each major C/C++ library (such as `sagemath-ntl`) - but some libraries come in packs that would not make much sense to separate (such as `sagemath-flint-arb-e_antic`).

 List of distributions:

-- `sage-giac` (ex `giacpy_sage` in `sage.libs.giac` + dependency on `libgiac`)
-- `sage-brial` (ex `sage-brial` in `sage.rings.polynomial.pbori` +  `sage.libs.polybori`, `sage.crypto.boolean_function`)
-- `sage-ntl`
-- `sage-flint-arb-e_antic`
+- `sagemath-giac` (ex `giacpy_sage` in `sage.libs.giac` + dependency on `libgiac`)
+      - sage/libs/giac/giac.pyx
+- `sagemath-brial` (ex `sage-brial` in `sage.rings.polynomial.pbori` +  `sage.libs.polybori`, `sage.crypto.boolean_function`)
+- `sagemath-ntl`
+- `sagemath-flint-arb-e_antic`
       - 'sage/libs/arb/arb_version.pyx',
       - 'sage/libs/arb/arith.pyx',
       - 'sage/matrix/matrix_complex_ball_dense.pyx',
@@ -15,8 +16,9 @@
       - 'sage/rings/number_field/number_field_element_quadratic.pyx',
       - 'sage/rings/polynomial/polynomial_complex_arb.pyx',
       - 'sage/rings/real_arb.pyx'
-- `sage-ecl` (`sage.libs.ecl`)
-- `sage-singular`: (some of these files actually may be better put in the pynac distribution)
+- `sagemath-ecl` (`sage.libs.ecl`)
+- `sagemath-maxima`: requires sage-ecl
+- `sagemath-singular`: (some of these files actually may be better put in the pynac distribution)
       - 'sage/algebras/letterplace/free_algebra_element_letterplace.pyx',
       - 'sage/algebras/letterplace/free_algebra_letterplace.pyx',
       - 'sage/algebras/letterplace/letterplace_ideal.pyx',
@@ -40,8 +42,8 @@
       - 'sage/symbolic/ring.pyx',
       - 'sage/symbolic/series.pyx',
       - 'sage/symbolic/substitution_map.pyx',
-- `sage-pynac`
-- `sage-gap`:
+- `sagemath-pynac`
+- `sagemath-gap`:
       - 'sage/coding/codecan/codecan.pyx',
       - 'sage/combinat/enumeration_mod_permgroup.pyx',
       - 'sage/combinat/root_system/reflection_group_c.pyx',
@@ -66,20 +68,20 @@
       - 'sage/libs/gap/util.pyx',
       - 'sage/matrix/matrix_gap.pyx',
       - 'sage/sets/disjoint_set.pyx'
-- `sage-linbox`:
+- `sagemath-linbox`:
       - 'sage/libs/linbox/linbox_flint_interface.pyx',
       - 'sage/matrix/matrix_integer_sparse.pyx',
       - 'sage/matrix/matrix_modn_dense_double.pyx',
       - 'sage/matrix/matrix_modn_dense_float.pyx',
       - 'sage/matrix/matrix_modn_sparse.pyx'
-- `sage-ratpoints`: 'sage/libs/ratpoints.pyx', 'sage/schemes/elliptic_curves/descent_two_isogeny.pyx'
-- `sage-znpoly` (see #30371 setup.py for which files need zn_poly)
+- `sagemath-ratpoints`: 'sage/libs/ratpoints.pyx', 'sage/schemes/elliptic_curves/descent_two_isogeny.pyx'
+- `sagemath-znpoly` (see #30371 setup.py for which files need zn_poly)
       - 'sage/modular/modsym/p1list.pyx',
       - 'sage/modular/pollack_stevens/dist.pyx',
       - 'sage/rings/fraction_field_FpT.pyx',
       - 'sage/rings/polynomial/polynomial_zmod_flint.pyx',
       - 'sage/schemes/hyperelliptic_curves/hypellfrob.pyx',
-- `sage-mari` (also requiring pbori and pbori-groebner):
+- `sagemath-mari` (also requiring pbori and pbori-groebner):
       - 'sage/matrix/matrix_gf2e_dense.pyx',
       - 'sage/matrix/matrix_integer_dense.pyx',
       - 'sage/matrix/matrix_mod2_dense.pyx',
@@ -87,9 +89,7 @@
       - 'sage/modules/vector_mod2_dense.pyx',
       - 'sage/rings/polynomial/pbori/pbori.pyx',
       - 'sage/rings/polynomial/polynomial_gf2x.pyx'
-- `sage-magma`: requires sage-ecl
-- `sage-giac`: 'sage/libs/giac/giac.pyx'
-- `sage-homfly`: 'sage/libs/homfly.pyx'
+- `sagemath-homfly`: 'sage/libs/homfly.pyx'

 This is preparation for Meta-ticket #29705 (Modularization) and #30371.
mkoeppe commented 3 years ago

Dependencies: #31031

mkoeppe commented 3 years ago
comment:17

Setting new milestone based on a cursory review of ticket status, priority, and last modification date.

mkoeppe commented 1 year ago

Branch: u/mkoeppe/add__sage_setupdistributiondirectives_to_all_cython_modules_needing_external_libraries

mkoeppe commented 1 year ago

Description changed:

--- 
+++ 
@@ -4,11 +4,7 @@

 List of distributions:

-- `sagemath-giac` (ex `giacpy_sage` in `sage.libs.giac` + dependency on `libgiac`)
-      - sage/libs/giac/giac.pyx
-- `sagemath-brial` (ex `sage-brial` in `sage.rings.polynomial.pbori` +  `sage.libs.polybori`, `sage.crypto.boolean_function`)
-- `sagemath-ntl`
-- `sagemath-flint-arb-e_antic`
+- **sagemath-flint-arb**
       - 'sage/libs/arb/arb_version.pyx',
       - 'sage/libs/arb/arith.pyx',
       - 'sage/matrix/matrix_complex_ball_dense.pyx',
@@ -16,6 +12,14 @@
       - 'sage/rings/number_field/number_field_element_quadratic.pyx',
       - 'sage/rings/polynomial/polynomial_complex_arb.pyx',
       - 'sage/rings/real_arb.pyx'
+      - etc.
+- **sagemath-homfly**: 'sage/libs/homfly.pyx'
+- **sagemath-giac** (ex `giacpy_sage` in `sage.libs.giac` + dependency on `libgiac`)
+      - sage/libs/giac/giac.pyx
+
+
+- `sagemath-brial` (ex `sage-brial` in `sage.rings.polynomial.pbori` +  `sage.libs.polybori`, `sage.crypto.boolean_function`)
+- `sagemath-ntl`
 - `sagemath-ecl` (`sage.libs.ecl`)
 - `sagemath-maxima`: requires sage-ecl
 - `sagemath-singular`: (some of these files actually may be better put in the pynac distribution)
@@ -74,8 +78,7 @@
       - 'sage/matrix/matrix_modn_dense_double.pyx',
       - 'sage/matrix/matrix_modn_dense_float.pyx',
       - 'sage/matrix/matrix_modn_sparse.pyx'
-- `sagemath-ratpoints`: 'sage/libs/ratpoints.pyx', 'sage/schemes/elliptic_curves/descent_two_isogeny.pyx'
-- `sagemath-znpoly` (see #30371 setup.py for which files need zn_poly)
+- `sagemath-znpoly` (subject to removal in #32841?)
       - 'sage/modular/modsym/p1list.pyx',
       - 'sage/modular/pollack_stevens/dist.pyx',
       - 'sage/rings/fraction_field_FpT.pyx',
@@ -89,7 +92,6 @@
       - 'sage/modules/vector_mod2_dense.pyx',
       - 'sage/rings/polynomial/pbori/pbori.pyx',
       - 'sage/rings/polynomial/polynomial_gf2x.pyx'
-- `sagemath-homfly`: 'sage/libs/homfly.pyx'

 This is preparation for Meta-ticket #29705 (Modularization) and #30371.
mkoeppe commented 1 year ago

New commits:

3f3bfefMark files # sage_setup: distribution = sagemath-flint-arb
mkoeppe commented 1 year ago

Commit: 3f3bfef

mkoeppe commented 1 year ago

Description changed:

--- 
+++ 
@@ -16,6 +16,31 @@
 - **sagemath-homfly**: 'sage/libs/homfly.pyx'
 - **sagemath-giac** (ex `giacpy_sage` in `sage.libs.giac` + dependency on `libgiac`)
       - sage/libs/giac/giac.pyx
+- **sagemath-gap**:
+      - 'sage/coding/codecan/codecan.pyx',
+      - 'sage/combinat/enumeration_mod_permgroup.pyx',
+      - 'sage/combinat/root_system/reflection_group_c.pyx',
+      - 'sage/combinat/root_system/reflection_group_element.pyx',
+      - 'sage/graphs/spanning_tree.pyx',
+      - 'sage/groups/libgap_wrapper.pyx',
+      - 'sage/groups/matrix_gps/group_element.pyx',
+      - 'sage/groups/perm_gps/permgroup_element.pyx',
+      - 'sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.pyx',
+      - 'sage/groups/perm_gps/partn_ref/canonical_augmentation.pyx',
+      - 'sage/groups/perm_gps/partn_ref/data_structures.pyx',
+      - 'sage/groups/perm_gps/partn_ref/double_coset.pyx',
+      - 'sage/groups/perm_gps/partn_ref/refinement_binary.pyx',
+      - 'sage/groups/perm_gps/partn_ref/refinement_graphs.pyx',
+      - 'sage/groups/perm_gps/partn_ref/refinement_lists.pyx',
+      - 'sage/groups/perm_gps/partn_ref/refinement_matrices.pyx',
+      - 'sage/groups/perm_gps/partn_ref/refinement_python.pyx',
+      - 'sage/groups/perm_gps/partn_ref/refinement_sets.pyx',
+      - 'sage/groups/perm_gps/partn_ref2/refinement_generic.pyx',
+      - 'sage/libs/gap/element.pyx',
+      - 'sage/libs/gap/libgap.pyx',
+      - 'sage/libs/gap/util.pyx',
+      - 'sage/matrix/matrix_gap.pyx',
+      - 'sage/sets/disjoint_set.pyx'

 - `sagemath-brial` (ex `sage-brial` in `sage.rings.polynomial.pbori` +  `sage.libs.polybori`, `sage.crypto.boolean_function`)
@@ -47,31 +72,6 @@
       - 'sage/symbolic/series.pyx',
       - 'sage/symbolic/substitution_map.pyx',
 - `sagemath-pynac`
-- `sagemath-gap`:
-      - 'sage/coding/codecan/codecan.pyx',
-      - 'sage/combinat/enumeration_mod_permgroup.pyx',
-      - 'sage/combinat/root_system/reflection_group_c.pyx',
-      - 'sage/combinat/root_system/reflection_group_element.pyx',
-      - 'sage/graphs/spanning_tree.pyx',
-      - 'sage/groups/libgap_wrapper.pyx',
-      - 'sage/groups/matrix_gps/group_element.pyx',
-      - 'sage/groups/perm_gps/permgroup_element.pyx',
-      - 'sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.pyx',
-      - 'sage/groups/perm_gps/partn_ref/canonical_augmentation.pyx',
-      - 'sage/groups/perm_gps/partn_ref/data_structures.pyx',
-      - 'sage/groups/perm_gps/partn_ref/double_coset.pyx',
-      - 'sage/groups/perm_gps/partn_ref/refinement_binary.pyx',
-      - 'sage/groups/perm_gps/partn_ref/refinement_graphs.pyx',
-      - 'sage/groups/perm_gps/partn_ref/refinement_lists.pyx',
-      - 'sage/groups/perm_gps/partn_ref/refinement_matrices.pyx',
-      - 'sage/groups/perm_gps/partn_ref/refinement_python.pyx',
-      - 'sage/groups/perm_gps/partn_ref/refinement_sets.pyx',
-      - 'sage/groups/perm_gps/partn_ref2/refinement_generic.pyx',
-      - 'sage/libs/gap/element.pyx',
-      - 'sage/libs/gap/libgap.pyx',
-      - 'sage/libs/gap/util.pyx',
-      - 'sage/matrix/matrix_gap.pyx',
-      - 'sage/sets/disjoint_set.pyx'
 - `sagemath-linbox`:
       - 'sage/libs/linbox/linbox_flint_interface.pyx',
       - 'sage/matrix/matrix_integer_sparse.pyx',
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Changed commit from 3f3bfef to 1ab0438

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Branch pushed to git repo; I updated commit sha1. New commits:

8c6728dMark files # sage_setup: distribution = sagemath-homfly
2654291Mark files # sage_setup: distribution = sagemath-giac
1ab0438Mark files # sage_setup: distribution = sagemath-gap
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Changed commit from 1ab0438 to 52b208b

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Branch pushed to git repo; I updated commit sha1. New commits:

3181bb0Do not mark *.h files with # sage-setup: distribution
52b208bpkgs/sagemath-gap, build/pkgs/sagemath_gap: New
mkoeppe commented 1 year ago

Description changed:

--- 
+++ 
@@ -42,6 +42,7 @@
       - 'sage/matrix/matrix_gap.pyx',
       - 'sage/sets/disjoint_set.pyx'

+In follow-up tickets:

 - `sagemath-brial` (ex `sage-brial` in `sage.rings.polynomial.pbori` +  `sage.libs.polybori`, `sage.crypto.boolean_function`)
 - `sagemath-ntl`
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

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

e551f34pkgs/sagemath-gap, build/pkgs/sagemath_gap: New
6c41717pkgs/sagemath-homfly, build/pkgs/sagemath_homfly: New
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Changed commit from 52b208b to 6c41717

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Branch pushed to git repo; I updated commit sha1. New commits:

cad9819build/pkgs/sagemath_{gap,homfly}/spkg-install: Symlink to sagemath_objects spkg-install
cd8358cpkgs/sagemath-gap/MANIFEST.in: Add VERSION.txt
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Changed commit from 6c41717 to cd8358c

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Changed commit from cd8358c to 9f26fb8

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

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

619c8c8Mark files # sage_setup: distribution = sagemath-flint-arb
71b5921Mark files # sage_setup: distribution = sagemath-homfly
fe08ab2Mark files # sage_setup: distribution = sagemath-giac
640aa74Mark files # sage_setup: distribution = sagemath-gap
d1ef655Do not mark *.h files with # sage-setup: distribution
8c46aabpkgs/sagemath-gap, build/pkgs/sagemath_gap: New
6db9b01pkgs/sagemath-homfly, build/pkgs/sagemath_homfly: New
390ebb8build/pkgs/sagemath_{gap,homfly}/spkg-install: Symlink to sagemath_objects spkg-install
9f26fb8pkgs/sagemath-gap/MANIFEST.in: Add VERSION.txt
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Changed commit from 9f26fb8 to 963fa77

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Branch pushed to git repo; I updated commit sha1. New commits:

13f030csrc/sage/libs/gap: Add # sage_setup: distribution to more files
a73b489Add src/sage/**/all__sagemath_gap.py
30112b2pkgs/sagemath-gap: WIP setup.py
cae814asrc/sage/groups/perm_gps/partn_ref/data_structures.pyx: Remove cimport from sage.libs.flint (only used by doctesting helper functions)
5fda124Add src/sage/**/all__sagemath_gap.py
a2feea0Add src/sage/**/all__sagemath_gap.py
665d01cpkgs/sagemath-gap/tox.ini: New
963fa77pkgs/sagemath-gap/MANIFEST.in: Add deps for sage/coding/codecan
mkoeppe commented 1 year ago

Description changed:

--- 
+++ 
@@ -41,6 +41,11 @@
       - 'sage/libs/gap/util.pyx',
       - 'sage/matrix/matrix_gap.pyx',
       - 'sage/sets/disjoint_set.pyx'
+
+To test:
+
+- `make SAGE_WHEELS=yes SAGE_CHECK=yes sagemath_gap`
+

 In follow-up tickets:
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Changed commit from 963fa77 to 96b863c

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Branch pushed to git repo; I updated commit sha1. New commits:

96b863cpkgs/sagemath-gap: Update description
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Branch pushed to git repo; I updated commit sha1. New commits:

b73a929build/pkgs/sagemath_gap/dependencies: Update
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Changed commit from 96b863c to b73a929

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Changed commit from b73a929 to 0869a7f

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Branch pushed to git repo; I updated commit sha1. New commits:

fc91135pkgs/sagemath-homfly: Fix up
0869a7fpkgs/sagemath-environment: Add sage.misc.package_dir properly
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Changed commit from 0869a7f to 961fb3f

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Branch pushed to git repo; I updated commit sha1. New commits:

31b08a1.gitignore: Ignore generated files
961fb3fpkgs/sagemath-flint-arb: New
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Changed commit from 961fb3f to 47a2519

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Branch pushed to git repo; I updated commit sha1. New commits:

45cce7bpkgs/sagemath-giac: New
47a2519Fixup
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Changed commit from 47a2519 to 513fc3f

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Branch pushed to git repo; I updated commit sha1. New commits:

513fc3fAdd tox.ini
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Changed commit from 513fc3f to 0f198ca

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 1 year ago

Branch pushed to git repo; I updated commit sha1. New commits:

0f198caMakefile: Add to PYPI_WHEEL_PACKAGES