recast-atlas


Namerecast-atlas JSON
Version 0.4.2 PyPI version JSON
download
home_pageNone
SummaryRECAST for ATLAS at the LHC
upload_time2024-06-17 09:08:53
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseApache-2.0
keywords atlas recast analysis reuse physics reinterpretation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # RECAST for ATLAS

[![DOI](https://zenodo.org/badge/142000927.svg)](https://doi.org/10.5281/zenodo.5854896)

[![CI](https://github.com/recast-hep/recast-atlas/actions/workflows/ci.yml/badge.svg)](https://github.com/recast-hep/recast-atlas/actions/workflows/ci.yml?query=branch%3Amain)
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/recast-hep/recast-atlas/main.svg)](https://results.pre-commit.ci/latest/github/recast-hep/recast-atlas/main)
[![PyPI version](https://badge.fury.io/py/recast-atlas.svg)](https://badge.fury.io/py/recast-atlas)

[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

ATLAS tools to facilitate integration of ATLAS analyses into RECAST

## Getting Started

### Install

`recast-atlas` is installable from PyPI using `pip` inside of your Python virtual environment

```
python -m pip install recast-atlas
```

### CLI API

The `recast-atlas` CLI API:

```
$ recast --help
Usage: recast [OPTIONS] COMMAND [ARGS]...

Options:
  -l, --loglevel TEXT
  --help               Show this message and exit.

Commands:
  auth       Authentication Commands (to gain access to internal data)
  backends   The RECAST computational backends.
  catalogue  The RECAST Analysis Catalogue
  ci         Helper Commands for CI systems
  retrieve   Retrieve RECAST Results from asynchronous submissions
  run        Run a RECAST Workflow synchronously
  software   Build Container Images for RECAST
  status     Get the Status of a asynchronous submission
  submit     Submit a RECAST Workflow asynchronously
  tests      Run a test
```

### Running RECAST

`recast-atlas` aims to enable both local execution as well as asynchronous execution on a [REANA](http://reana.io) cluster.

#### Docker backend

**Example**: Run the [example][recast-examples-rome] from the [ATLAS Exotics Rome Workshop 2018][ATLAS Exotics Workshop 2018] using the (default) `docker` backend.

Install `recast-atlas` from PyPI

```
python -m pip install --upgrade recast-atlas coolname
```

Submit the RECAST workflow, orchestrated in a `recast/recastatlas` Docker container

```
recast run examples/rome --backend docker --tag "docker-$(coolname 2)"
```

#### Local backend

**Example**: Run the [example][recast-examples-rome] from the [ATLAS Exotics Rome Workshop 2018][ATLAS Exotics Workshop 2018] using the `local` backend.

Install `recast-atlas` with the `local` extra

```
python -m pip install --upgrade 'recast-atlas[local]' coolname
```

Submit the RECAST workflow to run locally

```
PACKTIVITY_DOCKER_CMD_MOD="-u root" recast run examples/rome --backend local --tag "local-$(coolname 2)"
```

The `local` backend orchestrates the workflow graph locally, but note that the different workflow steps still run in Linux containers.

#### REANA cluster backend

**Example**: Asynchronously run the [example][recast-examples-rome] from the [ATLAS Exotics Rome Workshop 2018][ATLAS Exotics Workshop 2018] using the `reana` backend.

Install `recast-atlas` with the `reana` extra

```
python -m pip install --upgrade 'recast-atlas[reana]' coolname
```

Authenticate to use the REANA cluster (remember to clean up later with `eval $(recast auth destroy)`)

```
# Set these variables to your personal secret values
export RECAST_AUTH_USERNAME="<your RECAST auth username>"
export RECAST_AUTH_PASSWORD="<your RECAST auth password>"
export RECAST_AUTH_TOKEN="<your RECAST auth token>"

eval "$(recast auth setup -a ${RECAST_AUTH_USERNAME} -a ${RECAST_AUTH_PASSWORD} -a ${RECAST_AUTH_TOKEN} -a default)"
eval "$(recast auth write --basedir authdir)"

export REANA_SERVER_URL=https://reana.cern.ch
export REANA_ACCESS_TOKEN="<your RECAST access token>"
```

Submit the RECAST workflow to the REANA cluster

```
reana_tag="reana-$(coolname 2)"
recast submit examples/rome --backend reana --tag "${reana_tag}"
# REANA_WORKON sets the workflow automatically
export REANA_WORKON="recast-${reana_tag}"
```

Monitor the state of the workflow on REANA

```
reana-client status
# or if REANA_WORKON not set
# reana-client status --workflow "<the created tag>"
```

The `examples/rome` example doesn't have any result files, but if it did, you can download the results after the workflow succeeds

```
reana-client download --output-directory output
# or if REANA_WORKON not set
# reana-client download --workflow "<the created tag>" --output-directory output
```

Clean up the environment of personal information in environmental variables

```
eval $(recast auth destroy)
```

[ATLAS Exotics Workshop 2018]: https://indico.cern.ch/event/710748/contributions/2982534/subcontributions/254796

#### On [LXPLUS9](https://clouddocs.web.cern.ch/clients/lxplus.html)

```console
ssh lxplus9.cern.ch
source ~recast/public/setup.sh
recast catalogue ls
recast run examples/rome
```

[recast-examples-rome]: https://github.com/recast-hep/recast-atlas/blob/de61902bc6a66104965cced12471a8f195075bb3/src/recastatlas/data/catalogue/examples_rome.yml

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "recast-atlas",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "Matthew Feickert <matthew.feickert@cern.ch>",
    "keywords": "ATLAS, RECAST, analysis reuse, physics, reinterpretation",
    "author": null,
    "author_email": "Lukas Heinrich <lukas.heinrich@cern.ch>, Matthew Feickert <matthew.feickert@cern.ch>",
    "download_url": "https://files.pythonhosted.org/packages/e0/30/4e3157f8f7b4e02f49ef924707067197a4fd249cb7d755b7e60f263b3184/recast_atlas-0.4.2.tar.gz",
    "platform": null,
    "description": "# RECAST for ATLAS\n\n[![DOI](https://zenodo.org/badge/142000927.svg)](https://doi.org/10.5281/zenodo.5854896)\n\n[![CI](https://github.com/recast-hep/recast-atlas/actions/workflows/ci.yml/badge.svg)](https://github.com/recast-hep/recast-atlas/actions/workflows/ci.yml?query=branch%3Amain)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/recast-hep/recast-atlas/main.svg)](https://results.pre-commit.ci/latest/github/recast-hep/recast-atlas/main)\n[![PyPI version](https://badge.fury.io/py/recast-atlas.svg)](https://badge.fury.io/py/recast-atlas)\n\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n\nATLAS tools to facilitate integration of ATLAS analyses into RECAST\n\n## Getting Started\n\n### Install\n\n`recast-atlas` is installable from PyPI using `pip` inside of your Python virtual environment\n\n```\npython -m pip install recast-atlas\n```\n\n### CLI API\n\nThe `recast-atlas` CLI API:\n\n```\n$ recast --help\nUsage: recast [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  -l, --loglevel TEXT\n  --help               Show this message and exit.\n\nCommands:\n  auth       Authentication Commands (to gain access to internal data)\n  backends   The RECAST computational backends.\n  catalogue  The RECAST Analysis Catalogue\n  ci         Helper Commands for CI systems\n  retrieve   Retrieve RECAST Results from asynchronous submissions\n  run        Run a RECAST Workflow synchronously\n  software   Build Container Images for RECAST\n  status     Get the Status of a asynchronous submission\n  submit     Submit a RECAST Workflow asynchronously\n  tests      Run a test\n```\n\n### Running RECAST\n\n`recast-atlas` aims to enable both local execution as well as asynchronous execution on a [REANA](http://reana.io) cluster.\n\n#### Docker backend\n\n**Example**: Run the [example][recast-examples-rome] from the [ATLAS Exotics Rome Workshop 2018][ATLAS Exotics Workshop 2018] using the (default) `docker` backend.\n\nInstall `recast-atlas` from PyPI\n\n```\npython -m pip install --upgrade recast-atlas coolname\n```\n\nSubmit the RECAST workflow, orchestrated in a `recast/recastatlas` Docker container\n\n```\nrecast run examples/rome --backend docker --tag \"docker-$(coolname 2)\"\n```\n\n#### Local backend\n\n**Example**: Run the [example][recast-examples-rome] from the [ATLAS Exotics Rome Workshop 2018][ATLAS Exotics Workshop 2018] using the `local` backend.\n\nInstall `recast-atlas` with the `local` extra\n\n```\npython -m pip install --upgrade 'recast-atlas[local]' coolname\n```\n\nSubmit the RECAST workflow to run locally\n\n```\nPACKTIVITY_DOCKER_CMD_MOD=\"-u root\" recast run examples/rome --backend local --tag \"local-$(coolname 2)\"\n```\n\nThe `local` backend orchestrates the workflow graph locally, but note that the different workflow steps still run in Linux containers.\n\n#### REANA cluster backend\n\n**Example**: Asynchronously run the [example][recast-examples-rome] from the [ATLAS Exotics Rome Workshop 2018][ATLAS Exotics Workshop 2018] using the `reana` backend.\n\nInstall `recast-atlas` with the `reana` extra\n\n```\npython -m pip install --upgrade 'recast-atlas[reana]' coolname\n```\n\nAuthenticate to use the REANA cluster (remember to clean up later with `eval $(recast auth destroy)`)\n\n```\n# Set these variables to your personal secret values\nexport RECAST_AUTH_USERNAME=\"<your RECAST auth username>\"\nexport RECAST_AUTH_PASSWORD=\"<your RECAST auth password>\"\nexport RECAST_AUTH_TOKEN=\"<your RECAST auth token>\"\n\neval \"$(recast auth setup -a ${RECAST_AUTH_USERNAME} -a ${RECAST_AUTH_PASSWORD} -a ${RECAST_AUTH_TOKEN} -a default)\"\neval \"$(recast auth write --basedir authdir)\"\n\nexport REANA_SERVER_URL=https://reana.cern.ch\nexport REANA_ACCESS_TOKEN=\"<your RECAST access token>\"\n```\n\nSubmit the RECAST workflow to the REANA cluster\n\n```\nreana_tag=\"reana-$(coolname 2)\"\nrecast submit examples/rome --backend reana --tag \"${reana_tag}\"\n# REANA_WORKON sets the workflow automatically\nexport REANA_WORKON=\"recast-${reana_tag}\"\n```\n\nMonitor the state of the workflow on REANA\n\n```\nreana-client status\n# or if REANA_WORKON not set\n# reana-client status --workflow \"<the created tag>\"\n```\n\nThe `examples/rome` example doesn't have any result files, but if it did, you can download the results after the workflow succeeds\n\n```\nreana-client download --output-directory output\n# or if REANA_WORKON not set\n# reana-client download --workflow \"<the created tag>\" --output-directory output\n```\n\nClean up the environment of personal information in environmental variables\n\n```\neval $(recast auth destroy)\n```\n\n[ATLAS Exotics Workshop 2018]: https://indico.cern.ch/event/710748/contributions/2982534/subcontributions/254796\n\n#### On [LXPLUS9](https://clouddocs.web.cern.ch/clients/lxplus.html)\n\n```console\nssh lxplus9.cern.ch\nsource ~recast/public/setup.sh\nrecast catalogue ls\nrecast run examples/rome\n```\n\n[recast-examples-rome]: https://github.com/recast-hep/recast-atlas/blob/de61902bc6a66104965cced12471a8f195075bb3/src/recastatlas/data/catalogue/examples_rome.yml\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "RECAST for ATLAS at the LHC",
    "version": "0.4.2",
    "project_urls": {
        "Documentation": "https://github.com/recast-hep/recast-atlas",
        "Homepage": "https://github.com/recast-hep/recast-atlas",
        "Issue Tracker": "https://github.com/recast-hep/recast-atlas/issues",
        "Releases": "https://github.com/recast-hep/recast-atlas/releases",
        "Source Code": "https://github.com/recast-hep/recast-atlas"
    },
    "split_keywords": [
        "atlas",
        " recast",
        " analysis reuse",
        " physics",
        " reinterpretation"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9e28fcd99c651234a2e588648e99a4e763dc04a05fbef98ab45018076d24a5ef",
                "md5": "ea91a2acf0cb7dfd0c065da2407eeb1e",
                "sha256": "fde9694431f1f78e971a4a9021e281046c150fcf480deb60785834a2498c2f7b"
            },
            "downloads": -1,
            "filename": "recast_atlas-0.4.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ea91a2acf0cb7dfd0c065da2407eeb1e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 31838,
            "upload_time": "2024-06-17T09:08:51",
            "upload_time_iso_8601": "2024-06-17T09:08:51.806610Z",
            "url": "https://files.pythonhosted.org/packages/9e/28/fcd99c651234a2e588648e99a4e763dc04a05fbef98ab45018076d24a5ef/recast_atlas-0.4.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e0304e3157f8f7b4e02f49ef924707067197a4fd249cb7d755b7e60f263b3184",
                "md5": "04e0da82a9605d55d391ddcaa0e4e791",
                "sha256": "a63db9d7b6adca3d1080dbc16920264f1f8181c5cf1c7d6db0a438a1dba21f84"
            },
            "downloads": -1,
            "filename": "recast_atlas-0.4.2.tar.gz",
            "has_sig": false,
            "md5_digest": "04e0da82a9605d55d391ddcaa0e4e791",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 22272,
            "upload_time": "2024-06-17T09:08:53",
            "upload_time_iso_8601": "2024-06-17T09:08:53.959244Z",
            "url": "https://files.pythonhosted.org/packages/e0/30/4e3157f8f7b4e02f49ef924707067197a4fd249cb7d755b7e60f263b3184/recast_atlas-0.4.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-17 09:08:53",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "recast-hep",
    "github_project": "recast-atlas",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "recast-atlas"
}
        
Elapsed time: 3.94562s