Opened 10 months ago

Last modified 2 months 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.5
Component: build Keywords:
Cc: slelievre, gh-mwageringel, vdelecroix, slabbe, tmonteil Merged in:
Authors: Reviewers: https://github.com/mkoeppe/sage/actions/runs/489285128
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by mkoeppe)

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 and tox-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:

Discussions:

Change History (21)

comment:1 follow-up: Changed 10 months ago by 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.
  • there is no serious continuous integration for packages (as they have eg for gap)

comment:2 in reply to: ↑ 1 Changed 10 months ago by mkoeppe

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 10 months ago by mkoeppe

  • Description modified (diff)

comment:4 Changed 10 months ago by mkoeppe

  • Description modified (diff)

comment:5 Changed 10 months ago by mkoeppe

  • Description modified (diff)

comment:6 Changed 10 months ago by mkoeppe

  • 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 9 months ago by vdelecroix

  • Description modified (diff)

comment:8 Changed 9 months ago by vdelecroix

  • Description modified (diff)

comment:9 Changed 9 months ago by mkoeppe

  • Description modified (diff)

comment:10 Changed 9 months ago by mkoeppe

  • Description modified (diff)

comment:11 Changed 9 months ago by vdelecroix

  • Description modified (diff)

comment:12 Changed 9 months ago by vdelecroix

  • Description modified (diff)

comment:13 Changed 9 months ago by vdelecroix

  • Description modified (diff)

comment:14 Changed 9 months ago by tmonteil

  • Description modified (diff)

comment:15 Changed 9 months ago by vdelecroix

  • Description modified (diff)

comment:16 Changed 9 months ago by mkoeppe

  • Reviewers set to https://github.com/mkoeppe/sage/actions/runs/489285128

comment:17 Changed 8 months ago by mkoeppe

  • Cc tmonteil added
  • Description modified (diff)

comment:18 Changed 8 months ago by mkoeppe

  • Description modified (diff)

comment:19 Changed 8 months ago by mkoeppe

  • Description modified (diff)

comment:20 Changed 7 months ago by mkoeppe

  • 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 2 months ago by mkoeppe

  • Milestone changed from sage-9.4 to sage-9.5
Note: See TracTickets for help on using tickets.