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/2c42bd41-24a3-467e-857f-aedc3966c107n%40googlegroups.com.

Reply via email to