On Wednesday, June 5, 2024 at 8:00:54 PM UTC+1 Matthias Koeppe wrote:
On Wednesday, June 5, 2024 at 9:46:05 AM UTC-7 Dima Pasechnik wrote: On Monday, June 3, 2024 at 8:16:30 PM UTC+1 Matthias Koeppe wrote: Unlikely that we would add a package to the Sage distribution that builds a Rust library from source. Not so long ago we added support for installing Python packages from platform-independent wheels. We did this to sidestep the concern of shipping more and more of Javascript (Node.js) infrastructure that is needed for building JupyterLab components. Likewise, we will soon add support for installing Python packages from platform-dependent wheels. This is needed for updating some Jupyter components that have started to use Rust (https://github.com/crate-py/rpds, a dependency of jsonschema). Could you be more specific on this, please? [...] Where would these wheels come from? From PyPI? (In the Sage distribution, they won't be "pip" packages -- which are an underdeveloped mechanism in the build system of the Sage distribution -- but rather a variant of the existing "wheel" packages.) As the upstream developer, you would publish binary wheels to PyPI, likely in the same way as is done in https://github.com/crate-py/rpds/blob/main/.github/workflows/CI.yml - Like I wrote below the fold: The upstream project makes the binary wheels and uploads them to PyPI as usual. - When we make a package update in the Sage distribution, we download the wheels from PyPI (the upstream_url of the package) and upload them to the mirrors (and to the GitHub Release Assets). - When the package is installed, the Sage distribution downloads the wheels from GitHub Release Assets, falling back to mirrors, then falling back to the upstream_url. In other words, just like what we do for any other normal/wheel package in the Sage distribution. The only technical change: There's more than one "tarball" associated with these packages. And what is the point of this? Why do we need to mirror PyPI? Is there any Python project which resorts to mirroring binary PyPI wheels? I think it's a very drastic step, and it needs to be discussed, brought up for a vote, etc. Dima -- 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/1c2681d8-7c7e-4b48-be8d-0e504a2cae13n%40googlegroups.com.