Opened 17 months ago
Last modified 3 weeks ago
#31164 new enhancement
Meta-ticket: Add user packages from https://wiki.sagemath.org/SageMathExternalPackages as optional/experimental packages
Reported by: | mkoeppe | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-9.7 |
Component: | build | Keywords: | |
Cc: | slelievre, gh-mwageringel, vdelecroix, slabbe, tmonteil | Merged in: | |
Authors: | Reviewers: | ||
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description (last modified by )
At least some of the packages listed at https://wiki.sagemath.org/SageMathExternalPackages are probably not in worse shape than many of our current optional/experimental packages.
By including them as optional/experimental packages in build/pkgs
:
- they would be automatically included in our reference manual and Sage website (see #29655)
- The GH Actions workflows
tox-optional.yml
andtox-experimental.yml
will run them, providing continuous integration that will allow use to catch unintended breaking changes during the Sage development cycle
In this ticket, only pip-installable packages listed on PyPI will be added.
This adds an incentive to package authors to bring their packages to this form.
The packages will be added as "pip" packages instead of "normal packages", https://doc.sagemath.org/html/en/developer/packaging.html#package-source-types These do not come with tarball information and do not have to pin the version, so by default the latest version on PyPI would be installed. Hence there is no additional maintenance burden from updating the packages.
Adding the packages is made easy by the new sage -package
commands described in https://wiki.sagemath.org/ReleaseTours/sage-9.3#For_developers:_Setting_up_Python_packages_from_PyPI_as_Sage_packages
Tickets:
- #31224 surface-dynamics
- #31237 slabbe
- #31238 admcycles
- #31239 ore_algebra
- #31240 sage-flatsurf
- #30540 phitigra
- #31235 sage-numerical-interactive-mip, cutgeneratingfunctionology
- #33778 texsurgery
- #31176 Add packages from 3-manifolds / computop (#31180: snappy)
- #31223 sage-train-track
- #31416 multipolynomial-bases
Discussions:
- https://groups.google.com/g/sage-devel/c/ZNyLBKmc0EE/m/oUll3liBAwAJ - on version metadata
Change History (26)
comment:1 follow-up: ↓ 2 Changed 17 months ago by
comment:2 in reply to: ↑ 1 Changed 17 months ago by
Replying to vdelecroix:
Before proceeding, I would like to understand what package developers and package users would gain by declaring Python packages as sage optional packages. For now, I would only consider doing this if
- package versions were not tight to sage versions. In the curent setup a package upgrade needs a ticket review and, when merged, has to wait for a new sage version.
The solution here is to use pip packages instead of normal packages. https://doc.sagemath.org/html/en/developer/packaging.html#package-source-types
These do not come with tarball information and do not have to pin the version, so by default the latest version on PyPI would be installed.
- there is no serious continuous integration for packages (as they have eg for gap)
Well, we do have workflows on GH Actions that at least tries to install all optional and experimental packages!
comment:3 Changed 17 months ago by
- Description modified (diff)
comment:4 Changed 17 months ago by
- Description modified (diff)
comment:5 Changed 17 months ago by
- Description modified (diff)
comment:6 Changed 17 months ago by
- Description modified (diff)
- Summary changed from Add user packages from https://wiki.sagemath.org/SageMathExternalPackages as optional/experimental packages to Meta-ticket: Add user packages from https://wiki.sagemath.org/SageMathExternalPackages as optional/experimental packages
comment:7 Changed 16 months ago by
- Description modified (diff)
comment:8 Changed 16 months ago by
- Description modified (diff)
comment:9 Changed 16 months ago by
- Description modified (diff)
comment:10 Changed 16 months ago by
- Description modified (diff)
comment:11 Changed 16 months ago by
- Description modified (diff)
comment:12 Changed 16 months ago by
- Description modified (diff)
comment:13 Changed 16 months ago by
- Description modified (diff)
comment:14 Changed 16 months ago by
- Description modified (diff)
comment:15 Changed 16 months ago by
- Description modified (diff)
comment:16 Changed 16 months ago by
- Reviewers set to https://github.com/mkoeppe/sage/actions/runs/489285128
comment:17 Changed 16 months ago by
- Cc tmonteil added
- Description modified (diff)
comment:18 Changed 16 months ago by
- Description modified (diff)
comment:19 Changed 15 months ago by
- Description modified (diff)
comment:20 Changed 14 months ago by
- Milestone changed from sage-9.3 to sage-9.4
Sage development has entered the release candidate phase for 9.3. Setting a new milestone for this ticket based on a cursory review of ticket status, priority, and last modification date.
comment:21 Changed 9 months ago by
- Milestone changed from sage-9.4 to sage-9.5
comment:22 Changed 5 months ago by
- Milestone changed from sage-9.5 to sage-9.6
comment:23 Changed 7 weeks ago by
- Description modified (diff)
comment:24 Changed 7 weeks ago by
- Reviewers https://github.com/mkoeppe/sage/actions/runs/489285128 deleted
comment:25 Changed 6 weeks ago by
- Milestone changed from sage-9.6 to sage-9.7
comment:26 Changed 3 weeks ago by
- Description modified (diff)
Before proceeding, I would like to understand what package developers and package users would gain by declaring Python packages as sage optional packages. For now, I would only consider doing this if