Skip to main content


Project description


REANA-Commons is a component of the REANA reusable and reproducible research data analysis platform. It provides common utilities and schemas shared by the REANA cluster components.


  • common API clients for internal communication
  • centralised OpenAPI specifications for REANA components
  • AMQP connection management and communication
  • utility functions for cluster components


The detailed information on how to install and use REANA can be found in


Version 0.8.5 (2022-02-23)

  • Adds retry_count parameter to WorkflowSubmissionPublisher.

Version 0.8.4 (2022-02-08)

  • Adds new configuration variable to toggle Kubernetes security context. (K8S_USE_SECURITY_CONTEXT)
  • Changes installation to revert Yadage dependency versions.

Version 0.8.3 (2022-02-04)

  • Changes installation to remove upper version pin on kombu.

Version 0.8.2 (2022-02-01)

  • Adds support for Python 3.10.
  • Adds workflow name validation utility.
  • Changes Snakemake loaded specification to include compute backends.
  • Changes OpenAPI specification with respect to return supported compute backends in info endpoint.
  • Fixes file system usage calculation on CephFS shares in get_disk_usage utility function.

Version 0.8.1 (2021-12-21)

  • Adds OpenAPI specification support for kubernetes_job_timeout handling.
  • Changes OpenAPI specification for cluster health status endpoint.
  • Changes Yadage dependencies to allow 0.21.x patchlevel-version updates.
  • Changes installation to require Python-3.6 or higher versions.

Version 0.8.0 (2021-11-22)

  • Adds get_disk_usage utility function to calculate disk usage for a directory.
  • Adds Yadage workflow specification loading utilities.
  • Adds workspace validation utilities.
  • Adds Snakemake workflow engine integration.
  • Adds custom objects API instance to k8s client.
  • Adds available worklow engines configuration.
  • Adds environment variable to define time between job controller connection checks.
  • Adds cluster health status endpoint.
  • Adds OpenAPI specifications with respect to user quotas.
  • Changes workflow-submission queue as a priority queue and allows to set the priority number on workflow submission.
  • Changes OpenAPI specifications with respect to turning workspaces endpoint into info.
  • Changes publisher logging level on error callback.
  • Removes support for Python 2.

Version 0.7.5 (2021-07-02)

  • Adds support for glob patterns when listing workflow files.
  • Adds support for specifying kubernetes_memory_limit for Kubernetes compute backend jobs.

Version 0.7.4 (2021-03-17)

  • Adds new functions to serialise/deserialise job commands between REANA components.
  • Changes reana_ready function location to REANA-Server.

Version 0.7.3 (2021-02-22)

  • Adds new configuration variable to toggle runtime user jobs clean up depending on their statuses. (REANA_RUNTIME_KUBERNETES_KEEP_ALIVE_JOBS_WITH_STATUSES)
  • Adds central class to instantiate workflow engines with more resilience. (workflow_engine.create_workflow_engine_command)

Version 0.7.2 (2021-02-02)

  • Adds support for Python 3.9.
  • Fixes minor code warnings.
  • Fixes a helper function that calculates directory hashes.
  • Changes OpenAPI specifications with respect to sign-up form.
  • Changes OpenAPI specifications with respect to email confirmation.
  • Changes CI system to include Python flake8 checker.

Version 0.7.1 (2020-11-09)

  • Adds support for restarting yadage workflows (through accept_metadir operational option).
  • Allows htcondor_max_runtime and htcondor_accounting_group to be specified for HTC jobs.
  • Adds new field in REANA-Server OpenAPI spec to return server version.
  • Changes CI system from Travis to GitHub Actions.

Version 0.7.0 (2020-10-20)

  • Adds new utility to send emails.
  • Adds centralised validation utility for workflow operational options.
  • Adds new configuration variable to set the maximum number of running workflows. (REANA_MAX_CONCURRENT_BATCH_WORKFLOWS)
  • Adds new configuration variable to set prefix of REANA cluster component names. (REANA_COMPONENT_PREFIX)
  • Adds new configuration variable for the runtime pod node selector label. (REANA_RUNTIME_KUBERNETES_NODE_LABEL)
  • Adds new configuration variable to define the Kubernetes namespace in which REANA infrastructure components run. (REANA_INFRASTRUCTURE_KUBERNETES_NAMESPACE)
  • Adds new configuration variable to define the Kubernetes namespace in which REANA runtime components components run. (REANA_RUNTIME_KUBERNETES_NAMESPACE)
  • Adds possibility to specify unpacked container images for running jobs.
  • Adds support for initfiles operational option for the Yadage workflow engine.
  • Fixes memory leak in Bravado client instantiation.
  • Changes CephFS Persistent Volume Claim name. (REANA_SHARED_PVC_NAME)
  • Changes default logging level to INFO.
  • Changes default CVMFS volume list to include LHCb Gaudi related workflows.
  • Changes code formatting to respect black coding style.
  • Changes underlying requirements to use Kubernetes Python library version 11.
  • Changes underlying requirements to use latest CVMFS CSI driver version.
  • Changes documentation to single-page layout.

Version 0.6.1 (2020-05-25)

  • Upgrades Kubernetes Python client.

Version 0.6.0 (2019-12-19)

  • Adds new API for Gitlab integration.
  • Adds new Kubernetes client API for ingresses.
  • Adds new APIs for management of user secrets.
  • Adds EOS storage Kubernetes configuration.
  • Adds HTCondor and Slurm compute backends.
  • Adds support for streaming file uploads.
  • Allows unpacked CVMFS and CMS open data volumes.
  • Adds Serial workflow step name and compute backend.
  • Adds support for Python 3.8.

Version 0.5.0 (2019-04-16)

  • Centralises log level and log format configuration.
  • Adds new utility to inspect the disk usage on a given workspace. (get_workspace_disk_usage)
  • Introduces the module to share Celery tasks accross REANA components. (
  • Introduces common Celery task to determine whether REANA can execute new workflows depending on a set of conditions such as running job count. (reana_ready, check_predefined_conditions, check_running_job_count)
  • Allows the AMQP consumer to be configurable with multiple queues.
  • Introduces new queue for workflow submission. (workflow-submission)
  • Introduces new publisher for workflow submissions. (WorkflowSubmissionPublisher)
  • Centralises Kubernetes API client configuration and initialisation.
  • Adds Kubernetes specific configuration for CVMFS volumes as utils.
  • Introduces a new method, copy_openapi_specs, to automatically move validated OpenAPI specifications from components to REANA Commons openapi_specifications directory.
  • Centralises interactive session types.
  • Introduces central REANA errors through the module.
  • Skips SSL verification for all HTTPS requests performed with the BaseAPIClient.

Version 0.4.0 (2018-11-06)

  • Aggregates OpenAPI specifications of REANA components.
  • Improves AMQP re-connection handling. Switches from pika to kombu.
  • Enhances test suite and increases code coverage.
  • Changes license to MIT.

Version 0.3.1 (2018-09-04)

  • Adds parameter expansion and validation utilities for parametrised Serial workflows.

Version 0.3.0 (2018-08-10)

  • Initial public release.
  • Provides basic AMQP pub/sub methods for REANA components.
  • Utilities for caching used in different REANA components.
  • Click formatting helpers.

Please beware

Please note that REANA is in an early alpha stage of its development. The developer preview releases are meant for early adopters and testers. Please don’t rely on released versions for any production purposes yet.

Release history Release notifications | RSS feed

Download files

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

Source Distribution

reana-commons-0.8.5.tar.gz (58.9 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page