Open namurphy opened 1 year ago
I definitely think that having MDSplus be pip installable would be great and make it a lot easier to onboard new users. Over at the Big Red Ball at UW-Madison, it's quite a pain to get people remote access to the data and a pip install would be grand.
https://github.com/MDSplus/mdsplus/pull/2618
What you're looking for is a Conda package users can just easily install that allows users to make use of https://github.com/MDSplus/mdsplus/blob/21ead653c84e800c288b1dd99fad90a88f8510f3/python/MDSplus/connection.py#L216-L217
When the new build system gets released, this will come back out of the icebox
This issue is an instance of a larger question: "which package managers should MDSplus support?".
In the olden days, it was sufficient to support the operating system's package manager (apt
for Ubuntu, rpm
for RedHat and so forth). Now the software ecosystems around some languages (e.g., Python) are large enough to merit consideration of additional package managers.
As @ModestMC posted above, he and his colleagues are already working on a Conda package manager distribution of MDSplus.
Thank you for the replies! Having MDSplus be conda-installable is indeed helpful, but availability on conda would not be enough to allow MDSplus to fully participate in the scientific pythoniverse. For that, it is very important for MDSplus to be installable specifically via pip
.
A consequence of MDSplus not being installable from PyPI via pip
is that any package that depends on MDSplus would not be able to be fully installed via pip
either. In particular, we won't be able to use MDSplus as a dependency of PlasmaPy if it isn't installable via pip
.
I also started wondering...how possible would it be to split off the Python functionality into its own repository? The reason I'm asking is that most Python release workflows assume that the entire repo is for the Python package, though I think it would be possible to make a custom GitHub Action to take care of this.
Thank you again!
Hi @namurphy -- Thank you for the additional information. I have alerted my manager to this issue. And the software team has already had some preliminary discussions about pip
, conda
and other package managers.
Although I see the merit in your points, our small software team is already busy with several high priority tasks. It will likely be a few months before we can focus on package managers and figure out which ones MDSplus should support.
Please monitor this issue in the coming weeks and months. It is A-OK to post to this issue to request a status update.
Hi! I'm curious to know of any updates that have been made towards addressing this issue. The pip-installation functionality would be great for easing MDSplus implementation within the fusion Python ecosystem.
Hi @ciortiz, unfortunately not, and uploading MDSplus to pypi is probably a non-starter. There is a conda package maintained by the community that tries to fill this need, and very recently we've started publishing a pure-python implementation of MDSplus, but with only thin client support.
You can check it out here https://pypi.org/project/mdsthin/
At present, MDSplus is not able to be installed via the Python Packaging Index (PyPI) via
pip
. Making MDSplus installable viapip
would make the installation process a lot easier, and thus remove some barriers to access to using this package. It would also make it possible for downstream packages (i.e. WiPPLPy) to be fully installable viapip
.We have a lot of experience with Python packaging over at PlasmaPy, and I would be happy to work with you to make MDSplus
pip
-installable. Is this something you would be interested in? There's also a lot of helpful information in the recently updated Python Packaging User Guide.Thank you!