3 ms·
This is one of the places that IMO Julia really shines. It uses a combination of a Project.toml to track dependencies and a Manifest.toml that tracks all the ve
by adgjlsfhk1 4y ago
This is one of the places that IMO Julia really shines. It uses a combination of a Project.toml to track dependencies and a Manifest.toml that tracks all the versions of the entire dependency tree which makes it trivial to install all of the package versions.
- msla 4y agoEven that isn't sufficient for archival purposes, which an academic journal should be aiming for.
- rsfern 4y agoWhat is missing? Is this confined to the software environment, or also covering like data accessibility and workflow documentation? Asking as a scientist interested in reproducible research. Julia has been so much better than python at least in terms of dependency hell, but I still rely on some python packages through PyCall and I feel like that isn’t handled as nicely as Pkg.jl…
- msla 4y agoJust having references to the packages isn't enough, you also need the source code of the packages themselves.
- ChrisRackauckas 4y agoIt contains a reference to source code in the package server that is disconnected from the package author so it's retrievable in the event of a left-pad-like event. This is what's queried upon download in order to ensure that no funny business could lead to a security threat down the line either. It's kept on the package servers as an immutable source of truth referenced by the UUID and SHA.
- adgjlsfhk1 4y agothat all works. The package manager tracks source code for every version of every package.