On Saturday, February 17, 2024 at 1:13:33 PM UTC-6 Dima Pasechnik wrote:

My proposal is in fact aimed at reducing the number of pinned Sage 
dependecies, drastically. 

Because most of them are either dependencies of Jupyterlab, or of Sphinx, 
or of Python build system, and none of the them should be Sage's concern to 
package, with all their dependencies.


In my experience, it's particularly important to pin build dependencies.  
Most of the "out of the blue" CI failures we've seen with "snappy" have 
been caused by new versions of build dependencies, especially Cython.  (I 
see that Cython was also one of the motivations for the "conda-lock" scheme 
of https://github.com/sagemath/sage/pull/35986 )

If you itch to pack the said dependencies, please do it in a separate 
repo/PyPI package, which can be consumed by sagelib to get the desired 
pinned dependencies (and test all this in the existing CI, why not?) 
But stop tying them up with sagelib - which in effect forces people 
interested in sagelib to slave away on packaging 300 dependencies, most of 
which aren't even tested by CI in any way, besides building.


It seems to me that the "wheel" type Sage packages, each of which is 
primarily just the version number of a file on PyPI and its hash, is like a 
"requirements.txt" file (or "conda-lock" file, for that matter) spread over 
multiple directories.  Personally, I don't view that as packaging a 
dependency, but rather saving some metadata to aid 
reliability/reproducibility.

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/c1d9fe0f-c196-4fe3-b11f-2d8673f782a7n%40googlegroups.com.

Reply via email to