jupyterhealth / jupyter-health-software

A repository to track issues for the JupyterHealth Software Team
0 stars 0 forks source link

commonhealth-cloud-client feedback #12

Open minrk opened 2 months ago

minrk commented 2 months ago

I've tested the commonhealth cloud client and it seems to be working fine. I found these points of feedback in using it:

Minor API refinements:

minrk commented 2 months ago

One more important one that I forgot to mention:

It would be super handy if we could launch user servers with some environment variables defined and the client objects would initialize with the right values.

We can work around this easily enough in the short term by initializing objects in startup files and/or providing custom subclasses that load defaults from our own known locations, but since these classes needs lots of input arguments that need to come from the Hub, providing it to users so they don't have to enter them all will be valuable.

surfdoc commented 2 months ago

Good point. We could provide default values that could be updated via passed in environment variables.

minrk commented 2 months ago

I also noticed that the Python package pins exact dependencies. This is generally fine for applications, but can be a problem for libraries that may share an env with other packages.

Usually, the best way to do this is to specify your loose version requirements in the package (e.g. cryptography>=24), and then freeze them to a lockfile to use separately when building a docker image / installing an application, e.g. with pip-compile.

This pinning is an impediment to packaging on conda-forge, where it would create conflicts. It's easier for pip to ignore dependencies, but conda tries harder to ensure requirements are satisfied.