Replies: 1 comment 1 reply
-
|
Cool if users can specify the version in the command line, even cooler if it will automatically download that version A graphical tool could be nice, although I slightly think that anyone doing computational research should be able to use the terminal at least a little bit |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Overview
As we go forward with MUSE2, we will likely be changing the model with every release. Even subtle changes are likely to lead to different results for users; HiGHS seems to give slightly different outputs even with non-functional changes to the inputs (presumably because it finds a different local minimum). While we should encourage users to use the latest release of MUSE2 for new experiments, for the sake of reproducibility it would be good to have an easy way to run different versions of MUSE2. If you have a Rust toolchain you can install a specific version with e.g.
cargo install muse2==2.0.0, but a) most users won't have a Rust toolchain and b) presumably you can't install multiple versions in parallel this way.I've got a couple of ideas in mind: one is another terminal-based tool and another is for a GUI. They're not mutually exclusive and it might be a good idea to have a tool that combines both.
Either of these could be written with Python or Rust and we'd have to evaluate what the best option is.
Option 1: Non-graphical tool
My inspiration for this was the
rustuptool which we use in the project for managing our Rust toolchains. While it has many features that we don't need to implement, in general what it does is:cargousing a specific toolchainAnother trick that it does is to provide symlinks for tools like
cargoso that when you invoke them you're actually callingrustup, which then figures out what toolchain you need, installs it if needed and then runs that specific version ofcargo. It works so well it's easy to forget you're usingrustup! If you need to runcargowith a specific toolchain you can also do this with e.g.cargo +1.90.0 build.We could do something similar, either with or without the symlink trick I mention (not sure how technically challenging that will be). So, for example, you could run something like:
Or just:
If the user doesn't have v2.0.0 downloaded, the tool could do this automatically before launching
muse2 run my_model.Option 2: Graphical tool
Similar to the previous suggestion, we could produce a GUI with controls allowing the user to choose which model to run as well as which version of
muse2to run it with (we could provide a dropdown box of available versions). As mentioned before, we could also have a CLI interface to this tool that provides similar functionality to Option 1.There are a couple of advantages to this approach:
Beta Was this translation helpful? Give feedback.
All reactions