This proposal makes sense to me. Something like this is necessary for us to upgrade Jupyter since it depends on rdps-py which needs Rust to build, and this approach preserves the other features of current standard packages: the version is pinned (including checksums on the binary wheels) and all dependencies explicitly included as other standard packages.
Nathan On Sunday, August 4, 2024 at 1:03:38 PM UTC-5 Matthias Koeppe wrote: > Currently all "standard" packages of the Sage distribution, by policy ( > https://doc.sagemath.org/html/en/developer/packaging.html; recommended > reading), > - either can be installed from source ("normal" packages); > - or they are Python packages that can be installed from > platform-independent wheels. > > (We added the second option in order to treat Javascript assets as > prebuilt data, thus avoiding the complexity of Javascript build > infrastructure in the Sage distribution.) > > In https://github.com/sagemath/sage/pull/38219 (needs review), I propose > the following mild policy change: > - as a third option, a "standard" package is allowed to be a Python > package that can be installed from platform-dependent (binary) wheels. In > this case, a "configure" option must be provided that disables the package. > > (Again this new option is motivated by avoiding the complexity of new > build infrastructure related to another language; in this case, Rust. See > the PR for two example Rust-based example packages; previous discussion: > https://groups.google.com/g/sage-devel/c/JiSryImYGe0/m/4B8z6F4AEwAJ) > > -- 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/b1ccf359-c759-46e7-a08a-f1176d91f755n%40googlegroups.com.