All, please send your comments on this proposal. I hope that we can count votes here by the end of the week.
On Thursday, May 30, 2024 at 3:25:08 PM UTC-7 Matthias Koeppe wrote: > We added the packages as optional "pip" packages (see > https://deploy-livedoc--sagemath.netlify.app/html/en/developer/packaging#package-types > for > the terminology), each more than 1 year ago. > > - > https://deploy-livedoc--sagemath.netlify.app/html/en/reference/spkg/pytest#spkg-pytest > (added > in 2020) > - > https://deploy-livedoc--sagemath.netlify.app/html/en/reference/spkg/pytest_mock#spkg-pytest-mock > (added > in 2022) > - > https://deploy-livedoc--sagemath.netlify.app/html/en/reference/spkg/pytest_xdist#spkg-pytest-xdist > (added > in 2022) > > "pytest" is the current gold standard for running tests of Python > packages. Various standard packages in the Sage distribution already > declare pytest in "dependencies_check" as a conditional dependency for use > when SAGE_CHECK=yes is set. The support for testing parts of the Sage > library with pytest was from an effort largely stalled after 2022 -- and > which has been completely broken since early 2024 with the arrival of > pytest 8.x, which I have just fixed in > https://github.com/sagemath/sage/pull/37999 (to be merged). I'll note > that recent versions of pytest have added support for PEP-420 implicit > namespace package, which the Sage library uses as part of the > modularization effort. > > By making pytest a standard package, I would hope to help revive this > effort, and thus the larger effort to "adopt mainstream Python > testing/linting infrastructure" (see > https://github.com/sagemath/sage/issues/28936). > > I'm proposing to make the packages (and their dependencies) standard > (wheel) packages according to the procedures in our developer guide. > - Reference to previous such proposals following our project's procedures: > https://groups.google.com/g/sage-devel/c/EMeTJ6Hwgns/m/KyOOQzkzAAAJ > - Link to our packaging documentation and explanation how making it a > standard package compares to version pinning done for example using > conda-lock: > https://groups.google.com/g/sage-devel/c/MIU-xo9b7pc/m/N2vuKb-TAAAJ > > The other pytest_* packages are related technical packages. > The PR that implements it: https://github.com/sagemath/sage/pull/37301 > > This is a redo of the 2nd part of my proposal > https://groups.google.com/g/sage-devel/c/MIU-xo9b7pc/m/NsyUa7iXAgAJ from > Feb 10, which was stalled. (The 1st part (on python_build) was redone in > https://groups.google.com/g/sage-devel/c/EMeTJ6Hwgns/m/9_zh6usoAAAJ and > approved.) > > > I ask everyone to focus on the specifics of this proposal. > > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/c9fbfdc6-acb2-4f79-87fb-1eab4c43de4dn%40googlegroups.com.