[sage-devel] Re: Proposal (redo): Make pytest, pytest_mock, pytest_xdist + dependencies standard packages

2024-06-18 Thread Matthias Koeppe
I consider this approved. 
The PR is open for review at https://github.com/sagemath/sage/pull/37301

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/5ced2571-da78-434a-a770-0efa6972aedcn%40googlegroups.com.


[sage-devel] Re: Proposal (redo): Make pytest, pytest_mock, pytest_xdist + dependencies standard packages

2024-06-05 Thread Matthias Koeppe
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.


[sage-devel] Re: Proposal (redo): Make pytest, pytest_mock, pytest_xdist + dependencies standard packages

2024-06-01 Thread Matthias Koeppe
I'll share some additional facts for everyone's convenience.

The total size of these 5 wheel packages to be added in 
https://github.com/sagemath/sage/pull/37301is about 500 kilobytes. (As a 
comparison, that's 10% of the size of our "configure" script.)

-rw-r--r--  1 mkoeppe  staff   40612 May 22 12:47 
upstream/execnet-2.1.1-py3-none-any.whl
-rw-r--r--  1 mkoeppe  staff5892 May 22 12:57 
upstream/iniconfig-2.0.0-py3-none-any.whl
-rw-r--r--  1 mkoeppe  staff  339593 May 22 12:48 
upstream/pytest-8.2.1-py3-none-any.whl
-rw-r--r--  1 mkoeppe  staff9863 May 22 12:47 
upstream/pytest_mock-3.14.0-py3-none-any.whl
-rw-r--r--  1 mkoeppe  staff   46108 May 22 12:48 
upstream/pytest_xdist-3.6.1-py3-none-any.whl

On Thursday, May 30, 2024 at 3:25:08 PM UTC-7 Matthias Koeppe wrote:

I ask everyone to focus on the specifics of this proposal.


In particular, I'll suggest to refrain from engaging with generic warnings 
about "bloat", hypothetical scenarios about expensive bandwidth and 
storage, "backdooring", etc.

-- 
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/e43816ba-a3eb-4b45-a0c9-b365d8b569c9n%40googlegroups.com.


Re: [sage-devel] Re: Proposal (redo): Make pytest, pytest_mock, pytest_xdist + dependencies standard packages

2024-06-01 Thread Dima Pasechnik
I don't argue against making them standard - I argue against vendoring them, 
which buys us essentially nothing but an extra headache.



On 1 June 2024 15:10:21 CEST, Nathan Dunfield  wrote:
>The six packages proposed for addition are all pure-Python and collectively 
>take up 4M installed (about a 450K download); for scale, I think a full 
>Sage installation is about 3G (1.25G download).  They all seem to be 
>well-maintained, and common enough that all are available on conda-forge.  
>Using pytest to test Sage sounds like a good thing to me, and I think it 
>makes sense to promote them standard packages.
>
>Best,
>
>Nathan
>
>-- 
>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/c5ab0d5a-55c0-4f55-abc1-60b4f23b6ad4n%40googlegroups.com.

-- 
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/A3CBA6CF-2C59-42EA-AB9D-5C5D6FB9EA8A%40gmail.com.


[sage-devel] Re: Proposal (redo): Make pytest, pytest_mock, pytest_xdist + dependencies standard packages

2024-06-01 Thread Nathan Dunfield
The six packages proposed for addition are all pure-Python and collectively 
take up 4M installed (about a 450K download); for scale, I think a full 
Sage installation is about 3G (1.25G download).  They all seem to be 
well-maintained, and common enough that all are available on conda-forge.  
Using pytest to test Sage sounds like a good thing to me, and I think it 
makes sense to promote them standard packages.

Best,

Nathan

-- 
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/c5ab0d5a-55c0-4f55-abc1-60b4f23b6ad4n%40googlegroups.com.