On Saturday, February 17, 2024 at 3:04:49 PM UTC-8 Nathan Dunfield wrote:
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. I agree with this viewpoint. I'll note that in addition to aiding reliability/reproducibility, the metadata in build/pkgs is also important for discoverability and attribution. Of course one could point out that our format is relatively verbose, as it is spread over several plain-text files -- for simplicity of access with shell scripts. Our format dates back to at least 2015, see the sage-devel thread "Is there an online index of the standard packages shipped in Sage?" (https://groups.google.com/g/sage-devel/c/aEmUmFOwJYQ/m/4pmmYrt3nXQJ) Other distributions such as Pyodide (https://github.com/pyodide/pyodide/tree/main/packages) use contemporary structured datafile formats such as yaml instead. But it is probably safe to say that most Sage users and even most Sage developers do not look at the contents of the build/pkgs/ directory. -- 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/df37948c-b153-4bbd-97a4-0a532b1778fen%40googlegroups.com.