1- # PySlurm
1+ # < img src = " logo.png " alt = " PySlurm Logo " >
22
3- [ ![ PySlurm ] ( https://github.com/PySlurm/pyslurm/actions/workflows/pyslurm.yml/badge.svg?branch=main )] ( https://github. com/PySlurm/pyslurm/actions/workflows/pyslurm.yml )
3+ pyslurm is the Python client library for the [ Slurm Workload Manager ] ( https://slurm.schedmd. com )
44
5- ## Overview
6-
7- PySlurm is the Python client library for the [ Slurm] ( https://slurm.schedmd.com ) HPC Scheduler.
8-
9- ## Prerequisites
5+ ## Requirements
106
117* [ Slurm] ( https://slurm.schedmd.com ) - Slurm shared library and header files
128* [ Python] ( https://www.python.org ) - >= 3.6
139* [ Cython] ( https://cython.org ) - >= 0.29.30 but < 3.0
1410
15- This PySlurm branch is for the Slurm Major-Release 22.05
11+ This Version is for Slurm 22.05.x
12+
13+ ## Versioning
14+
15+ In pyslurm, the versioning scheme follows the official Slurm versioning. The
16+ first two numbers (` MAJOR.MINOR ` ) always correspond to Slurms Major-Release,
17+ for example ` 22.05 ` .
18+ The last number (` MICRO ` ) is however not tied in any way to Slurms ` MICRO `
19+ version, but is instead PySlurm's internal Patch-Level. For example, any
20+ pyslurm 22.05.X version should work with any Slurm 22.05.X release.
1621
1722## Installation
1823
@@ -21,14 +26,14 @@ By default, it is searched inside `/usr/include` for the Header files and in
2126For Slurm installations in different locations, you will need to provide
2227the corresponding paths to the necessary files.
2328
24- You can specify these Paths with environment variables (recommended), for example:
29+ You can specify those with environment variables (recommended), for example:
2530
2631``` shell
2732export SLURM_INCLUDE_DIR=/opt/slurm/22.05/include
2833export SLURM_LIB_DIR=/opt/slurm/22.05/lib
2934```
3035
31- Then you can proceed to install PySlurm , for example by cloning the Repository:
36+ Then you can proceed to install pyslurm , for example by cloning the Repository:
3237
3338``` shell
3439git clone https://github.com/PySlurm/pyslurm.git && cd pyslurm
@@ -40,105 +45,14 @@ pip install .
4045
4146Also see ` python setup.py --help `
4247
43- ## Release Versioning
44-
45- PySlurm's versioning scheme follows the official Slurm versioning. The first
46- two numbers (MAJOR.MINOR) always correspond to Slurms Major-Release, for example
47- ` 22.05 ` . The last number (MICRO) is however not tied in any way to Slurms
48- MICRO version. For example, any PySlurm 22.05.X version should work with any
49- Slurm 22.05.X release.
50-
51- ## Documentation
52-
53- The API documentation is hosted at < https://pyslurm.github.io > .
54-
55- To build the docs locally, use [ Sphinx] ( http://www.sphinx-doc.org ) to generate
56- the documentation from the reStructuredText based docstrings found in the
57- pyslurm module once it is built:
58-
59- ``` shell
60- cd doc
61- make clean
62- make html
63- ```
64-
65- ## Testing
66-
67- PySlurm requires an installation of Slurm.
68-
69- ### Using a Test Container
70-
71- To run tests locally without an existing Slurm cluster, ` docker ` and
72- ` docker-compose ` is required.
73-
74- Clone the project:
75-
76- ``` shell
77- git clone https://github.com/PySlurm/pyslurm.git
78- cd pyslurm
79- ```
80-
81- Start the Slurm container in the background:
82-
83- ``` shell
84- docker-compose up -d
85- ```
86-
87- The cluster takes a few seconds to start all the required Slurm services. Tail
88- the logs:
89-
90- ``` shell
91- docker-compose logs -f
92- ```
93-
94- When the cluster is ready, you will see the following log message:
95-
96- ``` text
97- Cluster is now available
98- ```
99-
100- Press CTRL+C to stop tailing the logs. Slurm is now running in a container in
101- detached mode. ` docker-compose ` also bind mounds the git directory inside the
102- container at ` /pyslurm ` so that the container has access to the test cases.
103-
104- Install test dependencies:
105-
106- ``` shell
107- pipenv sync --dev
108- ```
109-
110- Execute the tests inside the container:
111-
112- ``` shell
113- pipenv run pytest -sv scripts/run_tests_in_container.py
114- ```
115-
116- When testing is complete, stop the running Slurm container:
117-
118- ``` shell
119- docker-compose down
120- ```
121-
122- ### Testing on an Existing Slurm Cluster
123-
124- You may also choose to clone the project and run tests on a node where Slurm is
125- already compiled and installed:
126-
127- ``` shell
128- git clone https://github.com/PySlurm/pyslurm.git
129- cd pyslurm
130- pip install .
131- ./scripts/configure.sh
132- pipenv sync --dev
133- pipenv run pytest -sv
134- ```
135-
13648## Contributors
13749
138- PySlurm is made by [ contributors like
50+ pyslurm is made by [ contributors like
13951you] ( https://github.com/PySlurm/pyslurm/graphs/contributors ) .
14052
141- ## Help
53+ ## Support
54+
55+ Feel free to ask questions in the [ GitHub
56+ Discussions] ( https://github.com/orgs/PySlurm/discussions )
14257
143- Ask questions on the [ PySlurm Google
144- Group] ( https://groups.google.com/forum/#!forum/pyslurm )
58+ Found a bug or you are missing a feature? Feel free to [ open an Issue!] ( https://github.com/PySlurm/pyslurm/issues/new )
0 commit comments