MSS icon indicating copy to clipboard operation
MSS copied to clipboard

update the documentation for pixi global install mss

Open ReimarBauer opened this issue 2 years ago • 2 comments

The install documentation for users can have an alternative option use pixi. This is much simpler as our shell scripts.

pixi global install mss
✔ Installed package mss 8.2.0 py310hff52083_0 from conda-forge
  These apps are now globally available:
   -  .mss-post-link
   -  .mss-pre-unlink
   -  mscolab
   -  mss
   -  mssautoplot
   -  msui
   -  mswms
   -  mswms_demodata

https://prefix.dev/docs/pixi/cli

ReimarBauer avatar Aug 23 '23 14:08 ReimarBauer

We have to find a solution for the other command line tools which we have when we are in an environment.

  • flask is needed for database migration
  • keyring is needed for setting passwords
  • fs_filepicker could be used to check fs path defintions
  • ncdump read our binary data files

ReimarBauer avatar Aug 25 '23 07:08 ReimarBauer

I think we should differentiate between an installation on the user side and on the server side here. E.g. database migrations are a thing that is only of concern on the server side, for example when hosting mscolab, right? I also did not encounter a need for keyring yet.

In the case of ncdump I'd argue that that is accessible to mss already if it is needed, but should not be exposed to a user installing with pixi global install: if we did that, then this ncdump version would come from the mss environment, with all its version constraints imposed on it. If the user instead explicitly pixi global installed it themselves, then they get an up-to-date version without all those limitations that do not necessarily apply outside of mss.

Having all these version constraints affect each other in a standard mamba environment even when the usage of the installed packages is not at all tightly coupled is one of the bigger downsides of mamba, imho.

On the server side I think pixi global install is the wrong approach anyway: compared to a regular pixi project it does not provide a proper lock file (AFAIK?) and makes multiple different versions side by side much harder or impossible (think develop/staging and production, for example). Instead, we could create a pixi project, install mss in that, get a lock file of this environment, update this environment in its entirety (recreate lock file) or just single dependencies (when pixi supports that) and have all this as a manageable single directory containing the lock file + state of the application (modulo database or whatever).

I guess the TL;DR is: I don't think we need to "export" binaries of other packages, if they are needed outside of mss they should be installed separately.

matrss avatar Aug 28 '23 14:08 matrss

When we don't do a global install we just need a pixi shell to access all the mentioned commands.

e.g.

which ncdump
/home/reimar/pixidirs/mss/.pixi/envs/default/bin/ncdump

As I already told anaconda licensees how to use pixi we can add it to our docs.

ReimarBauer avatar Nov 27 '24 15:11 ReimarBauer