Skip to main content
https://img.shields.io/badge/License-MIT-yellow.svg https://github.com/scailfin/flowserv-core/workflows/build/badge.svg https://codecov.io/gh/scailfin/rob-webapi-flask/branch/master/graph/badge.svg?token=iE1ZYCA0lS
ROB Web Service Implementation (using Flask)

About

This is the default RESTful Web API implementation for the Reproducible Open Benchmarks for Data Analysis Platform (ROB) using the Flask web framework.

Installation and Configuration

The following installation instructions assume that you install all packages in a local folder ~/projects/rob.

# -- Change the working directory

cd ~/projects/rob

The Reproducible Open Benchmarks platform is implemented in Python. We recommend using a virtual environment for the installation.

# -- Create a new virtual environment
virtualenv venv
# -- Activate the virtual environment
source venv/bin/activate

The Flask Web API for ROB requires the flowserv package. The following steps will install all packages from the respective GitHub repositories:

git clone git@github.com:scailfin/flowserv-core.git
pip install -e flowserv-core
git clone git@github.com:scailfin/rob-webapi-flask.git
pip install -e rob-webapi-flask

The primary configuration parameters are defined in the ROB Configuration documentation. Two additional environment variables are defined by the Web API:

  • ROB_WEBAPI_LOG: Directory path for API logs (default: $FLOWSERV_API_DIR/log)

  • ROB_WEBAPI_CONTENTLENGTH: Maximum size of uploaded files (default: 16MB)

If you run the Flask application from the command line in developer mode using flask run, you also need to set the following environment variables:

export FLASK_APP=robflask.api
export FLASK_ENV=development

There are also more detailed instructions on the Demo Setup site to setup and run the Web API.

Command Line Interface

The robflask package includes a command line tool to setup the ROB database and for creating and manipulating benchmarks.

Initialize the ROB database

Initialize database and base directories for the Reproducible Open Benchmarks (ROB) Web API. The configuration parameters for the database are taken from the respective environment variables. Creates the API base directory if it does not exist.

Usage: flowserv init [OPTIONS]

  Initialize database and base directories for the API.

Options:
  -f, --force  Create database without confirmation
  --help       Show this message and exit.

Create and delete Benchmarks

Create a new benchmark.

Usage: flowserv workflows create [OPTIONS] TEMPLATE

  Create a new workflow.

Options:
  -n, --name TEXT          Unique workflow name.
  -d, --description TEXT   Short workflow description.
  -i, --instructions PATH  File containing instructions for running the
                           workflow.

  -f, --specfile FILE      Optional path to workflow specification file.
  -m, --manifest FILE      Optional path to workflow manifest file.
  --help                   Show this message and exit.

Delete a given benchmark.

Usage: flowserv workflows delete [OPTIONS] IDENTIFIER

  Delete a given workflow.

Options:
  --help  Show this message and exit.

Metadata

Release files for rob-flask 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rob-flask 0.6.0
File Size Uploaded
rob-flask-0.6.0.tar.gz 17.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rob-flask 0.6.0
File Interpreter ABI Platform
rob_flask-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 38.0 kB

Release files / rob-flask-0.6.0.tar.gz

Download URL rob-flask-0.6.0.tar.gz
Size 17.1 kB
Tags Source
SHA-256 checksum
How to use checksums
49d47b45302586a4340038aa7076cac6976672a7df34c97e09925cde93f589b9
BLAKE2b-256 checksum
How to use checksums
e2ed5b5bde79af17d52279a808b9e8cdbe8620c5d2a31114e0db0e4a0ba6dc58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

Release files / rob_flask-0.6.0-py3-none-any.whl

Download URL rob_flask-0.6.0-py3-none-any.whl
Size 20.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
23f8acde64bb5c33073b1d4c327a522f831186f96378768f5d74170a3c7c67b4
BLAKE2b-256 checksum
How to use checksums
1c41e54d373ce74beddfbd97fe31f0a740749b1d218809b680a9b0953cde811c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page