pcdshub / pcds-envs

conda environments used by PCDS
Other
1 stars 9 forks source link

add silx package #300

Closed baljamal closed 1 year ago

baljamal commented 1 year ago

I would like to add slix package to our PCDS environment, which is a GUI software developed by ERSF mainly to view HDF5 files but also it has many valuable features.

https://pypi.org/project/silx/

ZLLentz commented 1 year ago

I need the CI to run to evaluate this properly- I think something was configured wrong. I'm going to close and re-open this to see if it kick-starts the CI.

If there are other problems with the build, I'll likely close this PR and include it as an issue instead, installing it in a different way alongside the other environment tag updates.

Otherwise, have you seen our docs for pip installing into your own virtual environment? It could be useful to test compatibility or maybe in cases like this where the application seems unrelated to the rest of the controls software it may be the preferred install method:

https://confluence.slac.stanford.edu/display/PCDS/How+to+use+virtual+environments+%28venv%29+for+custom+applications+with+pcds_conda#Howtousevirtualenvironments(venv)forcustomapplicationswithpcds_conda-Releasingspecificversionsofapplicationswithvenvs

ZLLentz commented 1 year ago

closing to kick the CI

ZLLentz commented 1 year ago

Here's the dependency additions from adding this package:

fabio (required by silx)
hdf5plugin (required by silx)
pyopencl (required by silx)
pyopengl (required by silx)
pytools (required by pyopencl)
ZLLentz commented 1 year ago

All of the new dependencies seem ok to me

Remaining questions:

klauer commented 1 year ago

Is this more appropriate as a venv install w/ launcher or as a pcds_conda install?

My take is that this hinges on the user's desire to import it and use it from within Python. If it doesn't need to be used from Python and remains a standalone application, then venv install is probably the way to go (my 2c at least)

ZLLentz commented 1 year ago

@baljamal I'm leaning toward following @klauer's recommendation here, and installing silx as a standalone utility instead of embedding it in the environment. Let me know what you think. I'm currently double-checking that this would work without many caveats.

baljamal commented 1 year ago

I agree with you and ken

ZLLentz commented 1 year ago

Ok, I've installed a silx venv. The venv is with the other standalone app venvs at:

/cds/group/pcds/pyps/conda/venvs/silx

And there's a path to a script you can run that doesn't even require you to activate any environments:

$ /cds/group/pcds/pyps/conda/venvs/silx/bin/silx --help
usage: silx [--version|--help] <command> [<args>]

The silx commands are:
   convert    Convert and concatenate files into a HDF5 file
   help       Show help of the following command
   test       Launch silx unittest
   view       Browse a data file with a GUI

See 'silx help <command>' to read about a specific subcommand

So e.g. you can do something like:

alias silx=/cds/group/pcds/pyps/conda/venvs/silx/bin/silx

And then use the silx application as needed.

This environment is based on pcds-5.7.3 + pip install silx[full] with silx at v1.1.2