{ "info": { "author": "Kai Krings", "author_email": "kai.krings@posteo.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: Unix", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering" ], "description": "Slurm job submission in Python\n==============================\n\nThis package provides a thin Python layer on top of the `Slurm`_ workload\nmanager for submitting Slurm batch scripts into a Slurm queue. Its core\nfeatures are:\n\n* Python classes representing a Slurm batch script,\n* simple file transfer mechanism between shared file system and node,\n* macro support based Python's format specification mini-language,\n* `JSON`_-encoding and decoding of Slurm batch scripts,\n* new submission command *ssub*,\n* successive submission of Slurm batch scripts, and\n* rescue of failed jobs.\n\nThe example shows how to submit a JSON-encoded Slurm batch script into a Slurm\nqueue via *ssub*:\n\n::\n\n ssub submit --in pyssub_example.json --out pyssub_example.out\n\nThe JSON-encoded Slurm batch script *pyssub_example.json* has the following\ncontent:\n\n.. code:: json\n\n {\n \"pyssub_example\": {\n \"executable\": \"echo\",\n \"arguments\": \"'Hello World!'\"\n }\n }\n\nA more detailed introduction is given in the `Getting started`_ guide.\n\nNote that I have written this package because I was working with a small Slurm\ncluster during my PhD. This cluster was configured in a way that the easiest\napproach was to submit multiple single-task Slurm batch scripts instead of a\nsingle multi-task Slurm batch script containing multiple *srun* commands. The\npackage reflects this approach and therefore does not have to be the best\nsolution for your cluster.\n\n\nInstallation\n------------\n\nThis package is pure Python 3 package (it requires at least Python 3.6) and\ndoes not depend on any third-party package. All releases are uploaded\nto `PyPI`_ and the newest release can be installed via\n\n::\n\n pip install pyssub\n\nI would recommend to create a dedicated virtual Python 3 environment for the\ninstallation (e.g. via `virtualenvwrapper`_):\n\n::\n\n source /usr/share/virtualenvwrapper/virtualenvwrapper.sh\n mkvirtualenv -p /usr/bin/python3.6 -i pyssub py3-slurm\n\nIf you prefer to work with the newest revision, you can also install the\npackage directly from `GitHub`_:\n\n::\n\n pip install 'git+https://github.com/kkrings/pyssub#egg=pyssub'\n\n\nContributing\n------------\n\nI welcome input from your side, either by creating `issues`_ or via `pull\nreqests`_. For the latter, please make sure that all unit tests pass. The unit\ntests can be executed via\n\n::\n\n python setup.py test\n\n\n.. External links\n.. _Slurm:\n https://slurm.schedmd.com/\n\n.. _JSON:\n https://www.json.org/\n\n.. _Getting started:\n https://pyssub.readthedocs.io/en/latest/guide.html\n\n.. _PyPI:\n https://pypi.org/project/pyssub/\n\n.. _virtualenvwrapper:\n https://virtualenvwrapper.readthedocs.io/\n\n.. _GitHub:\n https://github.com/kkrings/pyssub\n\n.. _issues:\n https://github.com/kkrings/pyssub/issues\n\n.. _pull reqests:\n https://github.com/kkrings/pyssub/pulls\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kkrings/pyssub/", "keywords": "", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "pyssub", "package_url": "https://pypi.org/project/pyssub/", "platform": "", "project_url": "https://pypi.org/project/pyssub/", "project_urls": { "Documentation": "https://pyssub.readthedocs.io/", "Homepage": "https://github.com/kkrings/pyssub/", "Source": "https://github.com/kkrings/pyssub/", "Tracker": "https://github.com/kkrings/pyssub/issues/" }, "release_url": "https://pypi.org/project/pyssub/0.1/", "requires_dist": null, "requires_python": ">=3.6", "summary": "Slurm job submission in Python", "version": "0.1" }, "last_serial": 5791724, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "0b287fe36c218ce1230fe8422c6963b7", "sha256": "5b64cb8a459784c0d7e47ff4344148458d61c8df8d5a9b6081f9af0a447ab0cf" }, "downloads": -1, "filename": "pyssub-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0b287fe36c218ce1230fe8422c6963b7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 21288, "upload_time": "2019-09-06T11:34:24", "url": "https://files.pythonhosted.org/packages/e8/6b/75457d9e5b4c0b2c5faf1352445f0574da3bb50913658e239e28523e69f4/pyssub-0.1-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0b287fe36c218ce1230fe8422c6963b7", "sha256": "5b64cb8a459784c0d7e47ff4344148458d61c8df8d5a9b6081f9af0a447ab0cf" }, "downloads": -1, "filename": "pyssub-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0b287fe36c218ce1230fe8422c6963b7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 21288, "upload_time": "2019-09-06T11:34:24", "url": "https://files.pythonhosted.org/packages/e8/6b/75457d9e5b4c0b2c5faf1352445f0574da3bb50913658e239e28523e69f4/pyssub-0.1-py3-none-any.whl" } ] }