This repo contains resources to build and test Python packages for MDSplus on the PPPL linux cluster.
The source code is located in /u/drsmith/mdsplus-python/
on the PPPL cluster.
The packages are tested with python2 and python3 and with modules nstx/mdsplus
and nstx/mdsplus_alpha
as appropriate. All building and testing is performed locally. A production installation can be reverse-engineered from the build
target in Makefile
.
Try it yourself on the PPPL cluster. Copy or clone:
$ git clone [email protected]:drsmith48/pppl-mdsplus-python.git
or:
$ cp --recursive /u/drsmith/mdsplus-python/ <destination directory>
Then run the shell script in the repo/directory:
$ source build.csh
build.csh
- configure modules and callMakefile
to run build/test recipesMakefile
- build Python packages with py2/py3 (as appropriate) and test packages with py2/py3 (as appropriate) by running test-mdsplus.pytest-mdsplus.py
- Python test script to import MDSplus and get MPTS datapylib/
- contains Python libraries from several MDSplus releasespylib/mdsplus/
- Python library copied from /u/gtchilin/sandbox/mdsplus/R5_64/mdspluspylib/mdsplus_alpha/
- Python library copied from /usr/pppl/nstx/R6_64/mdsplus_alphapylib/v6.1.84/
- Python library from MDSplus v6.1.84pylib/v7.0.71/
- Python library from MDSplus v7.0.71pylib/v7.1.13/
- Python library from MDSplus v7.1.13
- The module
nstx/mdsplus
is MDSplus v5, and it only supports python2. Accordingly, the Makefile only builds and tests with python2. - The module
nstx/mdsplus_alpha
is MDSplus v6 and it supports python2 and python3. The Makefile builds a 'universal wheel' with python3 and tests with python2 and python3. - The file
setup.py
in the Python library for the modulenstx/mdsplus_alpha
contains an error that breaks the build. Simple fix: change the linesetup(name=name,
tosetup(name=pname,
. - PyPI (python package index) contains packages for MDSplus >= v6.1, so I obtained a few Python libraries from old MDSplus releases on Github. The libraries are in
pylib/vX.Y.ZZ
and the libraries work with the modulenstx/mdsplus_alpha
. The packages are built as a 'universal wheel' with python3 and tested with python2 and python3 in the Makefile.