Skip to main content

Lightweight asynchronous SLURM REST requests with proxy support.

Project description

slurm-requests

PyPI - Version PyPI - Python Version


Lightweight asynchronous SLURM REST requests with proxy support.

Installation

pip install slurm-requests

Usage

import asyncio

import slurm_requests as slurm


async def main():

    # set defaults to avoid repetition
    slurm.init_defaults(
        url="https://example.com/sapi",
        api_version="v0.0.40",
        user_name="example_user",
        user_token="example_token",
        partition="example_partition",
        # constraints="GPU",
        environment=["EXAMPLE_VAR=example_value"],
        # headers={"X-Example-Header": "example_value"},
        # proxy_url="socks5://localhost:8080",
    )

    # check connection + credentials
    await slurm.ping()
    await slurm.diagnose()

    # submit
    job_id, _ = await slurm.job_submit(
        name="example_job",
        working_directory="/home/example_user/slurm",
        script="#!/usr/bin/bash\necho Hello, SLURM!",
        # time_limit=60,
        # dependency="afterok:123456",
    )
    assert job_id is not None

    # check state
    response = await slurm.job_current_state_and_reason(job_id=job_id)
    assert response is not None
    state, reason = response
    print(f"Job {job_id} is currently in state '{state}' due to reason '{reason}'.")

    # cancel
    await slurm.job_cancel(job_id=job_id)

    # advanced: overwrite a default (works for all functions)
    await slurm.ping(user_name="dummy", dry_run=True)


if __name__ == "__main__":
    asyncio.run(main())

License

slurm-requests is distributed under the terms of the CC-BY-SA-4.0 license.

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

slurm_requests-2.3.0.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

slurm_requests-2.3.0-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file slurm_requests-2.3.0.tar.gz.

File metadata

  • Download URL: slurm_requests-2.3.0.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for slurm_requests-2.3.0.tar.gz
Algorithm Hash digest
SHA256 feb3e72ff36f78610f5ba90018ce07611778fd86c011c8d08afaac62c12d6a70
MD5 aa8ac14a76d55c06f96cdf659089a7e2
BLAKE2b-256 b18a8aacf30d010d92eac458ce0ca1277425dc56115d09b357d0640b4f732812

See more details on using hashes here.

File details

Details for the file slurm_requests-2.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for slurm_requests-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6d493cf89ea5163fb0d35865a3822375e3fcbc373a650bc4954c49a58e10d407
MD5 80a2df58476ef93e2355be146a461335
BLAKE2b-256 0a94b19fe0936448ff31d22daed9f8f6e8176d696b52b2c4bf15dde1b9c7b160

See more details on using hashes here.

Supported by

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