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.

Reply via email to