On 17 February 2024 23:04:49 GMT, Nathan Dunfield <nat...@dunfield.info> wrote:
>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.
My proposal does not say that we must convert
all the standard python packages into pip packages.
I cannot imagine CI breaking down by, say, pytest.
Surely once every few years one might get a serious incompatibility, but not in
10% of CI runs, or in even 1%.
Besides, you can pin down or limit the version of a pip package, just as well.
E.g. pin down the version of Cython. But leave its dependencies out of Sage, as
much as possible.
> (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/4F1F879D-76CB-4B59-A579-46868E4C8F23%40gmail.com.