PySlurm / pyslurm

Python Interface to Slurm
https://pyslurm.github.io
GNU General Public License v2.0
474 stars 116 forks source link

Build System and Versioning changes #239

Closed tazend closed 2 years ago

tazend commented 2 years ago

This makes some changes to the build-system / Versioning scheme

Main points:

I put some updated installation instructions in the README.

I decided to not go for the change to ship the c-sources within the sdist, I believe right now it might actually be better to still depend on Cython and rather restrict the Version we support (Check here for more info)

Version scheme change proposal:

PySlurm's versioning should only include the MAJOR.MINOR release version from Slurm (e.g. 22.05), but not include Slurms MICRO version. The MICRO Version for PySlurm should more be the internal Patch-Level, increased for example when any bugs have been fixed in the code.

It shouldn't be related to Slurms 'MICRO' version, because a PySlurm 22.05.X release should work with any Slurm 22.05.X release - as the Slurm C-API is pretty stable within a Major-Release and headers do not change accross patch-level releases. (Put a note in the README).

Other changes:

  1. Disable auto_picke feature for Cython (see commit message for more details) - Closes #236
  2. Use libslurm.so instead of libslurmfull.so. Nothing from libslurmfull.so was actually used in the code, so we can make a switch now. See commit message for more explanation and #209 (Closes #209)

It would probably also make sense to backport these changes to the 21.08 branch, which I can do (and perhaps make also an extra Release for it)

Additionally, the PySlurm version on PyPi is pretty old (18.8) - and I'd really like to see the newer versions up there, especially now with adding the pyproject.toml. If you want, I could also do this if you give me permission to upload to PyPi and Test-PyPi.


Let me know what you think about all of the proposed changes