Skip to main content

Simple HPC queuing system adapter for Python on based jinja templates to automate the submission script creation.

Project description

pysqa - a simple queue adapter for python

Python package Documentation Status Coverage Status

High-performance computing (HPC) does not have to be hard. In this context the aim of pysqa is to simplify the submission of calculation to an HPC cluster as easy as starting another subprocess locally. This is achieved based on the assumption that even though modern HPC queuing systems offer a wide range of different configuration options, most users submit the majority of their jobs with very similar parameters.

Therefore, in pysqa users define submission script templates once and reuse them to submit many different calculations or workflows. These templates are defined in the jinja2 template language, so current submission scripts can be easily extended to templates. In addition to the submission of new jobs to the queuing system pysqa also allows the users to track the progress of their jobs, delete them or enable reservations using the built-in functionality of the queuing system.

All this functionality is available from both a Python interface as well as a command line interface.

Features

The core feature of pysqa is the communication to an HPC queuing system (Flux, LFS, MOAB, SGE, SLURM and TORQUE). This includes:

  • Submission of new calculation to the queuing system.
  • List of calculation currently waiting or running on the queuing system.
  • Deleting calculation which are currently waiting or running on the queuing system.
  • List of available queue templates created by the user.
  • Restriction of templates to a specific number of cores, run time or other computing resources. With integrated checks if a given calculation follows these restrictions.

In addition to these core features, pysqa is continuously extended to support more use cases for a larger group of users. These new features include the support for remote queuing systems:

  • Remote connection via the secure shell protocol to access remote HPC clusters.
  • Transfer of file to and from remote HPC clusters, based on a predefined mapping of the remote file system into the local file system.
  • Support for both individual connections as well as continuous connections depending on the network availability.

Finally, there is current work in progress to support a combination of multiple local and remote queuing systems from within pysqa, which are represented to the user as a single resource.

Documentation

License

pysqa is released under the BSD license https://github.com/pyiron/pysqa/blob/main/LICENSE . It is a spin-off of the pyiron project https://github.com/pyiron/pyiron therefore if you use pysqa for calculation which result in a scientific publication, please cite:

@article{pyiron-paper,
  title = {pyiron: An integrated development environment for computational materials science},
  journal = {Computational Materials Science},
  volume = {163},
  pages = {24 - 36},
  year = {2019},
  issn = {0927-0256},
  doi = {https://doi.org/10.1016/j.commatsci.2018.07.043},
  url = {http://www.sciencedirect.com/science/article/pii/S0927025618304786},
  author = {Jan Janssen and Sudarsan Surendralal and Yury Lysogorskiy and Mira Todorova and Tilmann Hickel and Ralf Drautz and Jörg Neugebauer},
  keywords = {Modelling workflow, Integrated development environment, Complex simulation protocols},
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysqa-0.1.5.tar.gz (31.2 kB view details)

Uploaded Source

Built Distribution

pysqa-0.1.5-py3-none-any.whl (36.7 kB view details)

Uploaded Python 3

File details

Details for the file pysqa-0.1.5.tar.gz.

File metadata

  • Download URL: pysqa-0.1.5.tar.gz
  • Upload date:
  • Size: 31.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for pysqa-0.1.5.tar.gz
Algorithm Hash digest
SHA256 f5503b500d6fc6397667fb1666e74c77efab789a2eddf1b2f8517223c69b85a8
MD5 2f0d3535395088c4dbb0b97182e1a5d6
BLAKE2b-256 4e52a24aa950a6346be60c27507b04950b0e53b9f29f45e9811a4e667e1d2463

See more details on using hashes here.

File details

Details for the file pysqa-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: pysqa-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 36.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for pysqa-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 387a8ac14a463817874ab75af207d59a58f4cb73f7782be6758a4808e0b1ba8e
MD5 9f8037aee869762b43d4f806157eb1cd
BLAKE2b-256 9a9beb12b613f44ef422fcf24b0a96c57930a70458e481ee06e3b00040962daf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page