What is easiest way to share code (like emailing matlab files)?

I’m currently working on a project with a lot of Matlab users. As such, I’ve reverted to writing Matlab and sending these documents around.

What have people found to be the easiest way to replicate the ease and simplicity that comes from sending around matlab files – within the Julia package framework?

1 Like

This depends on how many files you have, and how frequently they are updated. You can also e-mail Julia source code to people like any other source code, but making a package, putting it in a repo with the Manifest.toml and providing the URL for that is probably the most convenient if you want a rock-solid reproducible environment.

It’s been a long time I used Matlab, but I don’t think that e-mailing people files is very convenient (in any language). After a few trivial updates, you end up with incompatible and inconsistent versions floating around and tearing your hair out. YMMV.

9 Likes

I just make a private repo and give access

5 Likes

If I were going to share a small project, I would just send a zip file containing the code and a Project.toml and Manifest.toml. I wouldn’t assume the people I know are familiar with git or Github, especially the Matlab users.

Once they have the folder, they should be able to do

(v1.1) pkg> activate .

(ProjectName) pkg> instantiate

and then run the code.

4 Likes

This is a good option for making sure the set of packages is reproducible.

I’ve also been toying with an idea of embedding the package manifest and project toml files over at GitHub - c42f/CodeEnvironments.jl: Julia Pkg environments which can be embedded in julia code so everything can be self contained within a single script or jupyter notebook. I’m not sure this is a good idea yet (hence it’s not a registered package) but I’d be interested in hearing whether it would but useful for people’s workflow.

4 Likes