miniwdl-slurm


Nameminiwdl-slurm JSON
Version 0.2.0 PyPI version JSON
download
home_pagehttps://github.com/miniwdl-ext/miniwdl-slurm
Summaryminiwdl slurm backend using singularity
upload_time2023-04-04 08:19:50
maintainer
docs_urlNone
authorLeiden University Medical Center
requires_python>=3.6
licenseMIT
keywords wdl miniwdl slurm backend singularity
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            miniwdl-slurm
=============
Extends miniwdl to run workflows on SLURM clusters in singularity containers.

This `SLURM backend
<https://miniwdl.readthedocs.io/en/latest/runner_backends.html>`_ plugin for
`miniwdl <https://github.com/chanzuckerberg/miniwdl>`_ runs WDL task containers
by creating a job script that is submitted to a SLURM cluster. In case the job
description has a container, singularity will be used as container runtime.

Installation
------------
For the latest stable version::

    pip install miniwdl-slurm

For the development version::

    pip install git+https://github.com/miniwdl-ext/miniwdl-slurm.git

Configuration
--------------
The following `miniwdl configuration
<https://miniwdl.readthedocs.io/en/latest/runner_reference.html#configuration>`_
example can be used to use miniwdl on a SLURM cluster:

.. code-block:: ini

    [scheduler]
    container_backend=slurm_singularity
    # task_concurrency defaults to the number of processors on the system.
    # since we submit the jobs to SLURM this is not necessary.
    # higher numbers means miniwdl has to monitor more processes simultaneously
    # which might impact performance.
    task_concurrency=200
    
    # This setting allows running tasks to continue, even if one other tasks fails. 
    # Useful in combination with call caching. Prevents wasting resources by
    # cancelling jobs half-way that would probably succeed.
    fail_fast = false

    [call_cache]
    # The following settings create a call cache under the current directory.
    # This prevents wasting unnecessary resources on the cluster by rerunning 
    # jobs that have already succeeded.
    put = true 
    get = true 
    dir = "$PWD/miniwdl_call_cache"

    [task_runtime]
    # Setting a 'maxRetries' default allows jobs that fail due to intermittent
    # errors on the cluster to be retried.
    defaults = {
            "maxRetries": 2,
            "docker": "ubuntu:20.04"
        }
 
    [singularity]
    # This plugin wraps the singularity backend. Make sure the settings are
    # appropriate for your cluster.
    exe = ["singularity"]

    # the miniwdl default options contain options to run as a fake root, which
    # is not available on most clusters.
    run_options = [
            "--containall"
        ]

    # Location of the singularity images (optional). The miniwdl-slurm plugin
    # will set it to a directory inside $PWD. This location must be reachable
    # for the submit nodes.
    image_cache = "$PWD/miniwdl_singularity_cache"

    [slurm]
    # extra arguments passed to the srun command (optional).
    extra_args="--partition heavy_users,gpu --comment 'run with miniwdl'"

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/miniwdl-ext/miniwdl-slurm",
    "name": "miniwdl-slurm",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "WDL miniwdl slurm backend singularity",
    "author": "Leiden University Medical Center",
    "author_email": "sasc@lumc.nl",
    "download_url": "https://files.pythonhosted.org/packages/5e/6a/c245d037a286458873761d1f8b45024aab28a46de0b3b7efca5302e4ea68/miniwdl-slurm-0.2.0.tar.gz",
    "platform": null,
    "description": "miniwdl-slurm\n=============\nExtends miniwdl to run workflows on SLURM clusters in singularity containers.\n\nThis `SLURM backend\n<https://miniwdl.readthedocs.io/en/latest/runner_backends.html>`_ plugin for\n`miniwdl <https://github.com/chanzuckerberg/miniwdl>`_ runs WDL task containers\nby creating a job script that is submitted to a SLURM cluster. In case the job\ndescription has a container, singularity will be used as container runtime.\n\nInstallation\n------------\nFor the latest stable version::\n\n    pip install miniwdl-slurm\n\nFor the development version::\n\n    pip install git+https://github.com/miniwdl-ext/miniwdl-slurm.git\n\nConfiguration\n--------------\nThe following `miniwdl configuration\n<https://miniwdl.readthedocs.io/en/latest/runner_reference.html#configuration>`_\nexample can be used to use miniwdl on a SLURM cluster:\n\n.. code-block:: ini\n\n    [scheduler]\n    container_backend=slurm_singularity\n    # task_concurrency defaults to the number of processors on the system.\n    # since we submit the jobs to SLURM this is not necessary.\n    # higher numbers means miniwdl has to monitor more processes simultaneously\n    # which might impact performance.\n    task_concurrency=200\n    \n    # This setting allows running tasks to continue, even if one other tasks fails. \n    # Useful in combination with call caching. Prevents wasting resources by\n    # cancelling jobs half-way that would probably succeed.\n    fail_fast = false\n\n    [call_cache]\n    # The following settings create a call cache under the current directory.\n    # This prevents wasting unnecessary resources on the cluster by rerunning \n    # jobs that have already succeeded.\n    put = true \n    get = true \n    dir = \"$PWD/miniwdl_call_cache\"\n\n    [task_runtime]\n    # Setting a 'maxRetries' default allows jobs that fail due to intermittent\n    # errors on the cluster to be retried.\n    defaults = {\n            \"maxRetries\": 2,\n            \"docker\": \"ubuntu:20.04\"\n        }\n \n    [singularity]\n    # This plugin wraps the singularity backend. Make sure the settings are\n    # appropriate for your cluster.\n    exe = [\"singularity\"]\n\n    # the miniwdl default options contain options to run as a fake root, which\n    # is not available on most clusters.\n    run_options = [\n            \"--containall\"\n        ]\n\n    # Location of the singularity images (optional). The miniwdl-slurm plugin\n    # will set it to a directory inside $PWD. This location must be reachable\n    # for the submit nodes.\n    image_cache = \"$PWD/miniwdl_singularity_cache\"\n\n    [slurm]\n    # extra arguments passed to the srun command (optional).\n    extra_args=\"--partition heavy_users,gpu --comment 'run with miniwdl'\"\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "miniwdl slurm backend using singularity",
    "version": "0.2.0",
    "split_keywords": [
        "wdl",
        "miniwdl",
        "slurm",
        "backend",
        "singularity"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "509d5afd88340606bdf6440deb1bcd8525bf78914c4887a2ea29c2d5b45ceb54",
                "md5": "d2f6b3625e9c53791c7563cd9748e139",
                "sha256": "e2bff7fe4cb13d7d9374507699773f4d7a1d527b19794f635bca3bd1d205d872"
            },
            "downloads": -1,
            "filename": "miniwdl_slurm-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d2f6b3625e9c53791c7563cd9748e139",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 5929,
            "upload_time": "2023-04-04T08:19:47",
            "upload_time_iso_8601": "2023-04-04T08:19:47.831933Z",
            "url": "https://files.pythonhosted.org/packages/50/9d/5afd88340606bdf6440deb1bcd8525bf78914c4887a2ea29c2d5b45ceb54/miniwdl_slurm-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5e6ac245d037a286458873761d1f8b45024aab28a46de0b3b7efca5302e4ea68",
                "md5": "91e493c9bdd0fb70d0aa6bc82d5828b7",
                "sha256": "ac1635e0f57c8e600f84074d940050cf261ade0ff619f2ed09d273a438f2fc02"
            },
            "downloads": -1,
            "filename": "miniwdl-slurm-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "91e493c9bdd0fb70d0aa6bc82d5828b7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 4994,
            "upload_time": "2023-04-04T08:19:50",
            "upload_time_iso_8601": "2023-04-04T08:19:50.033411Z",
            "url": "https://files.pythonhosted.org/packages/5e/6a/c245d037a286458873761d1f8b45024aab28a46de0b3b7efca5302e4ea68/miniwdl-slurm-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-04-04 08:19:50",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "miniwdl-ext",
    "github_project": "miniwdl-slurm",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "miniwdl-slurm"
}
        
Elapsed time: 0.06067s