Library used to execute workflows (in CWL) and benchmark them as part of the Workflomics ecosystem.
Project description
Workflomics Benchmarker
Workflomics Benchmarker is a library designed for executing and benchmarking workflows provided in Common Workflow Language (CWL) within the Workflomics ecosystem.
Detailed user documentation is available on readthedocs.
Badges
Description | Badge |
---|---|
Packages and Releases | |
DOI | |
License | |
OS Support | |
Requirements |
Requirements
- Python 3.9 or higher
- Docker or Singularity
NOTE: Workflomics Benchmarker is will run on Linux and macOS without any additional configuration. However, Windows users need to use Windows Subsystem for Linux (WSL) to run the tool (see MS Windows users).
Optional:
- Poetry (if you want to build the package from source)
Installation
Create a virtual environment and install the required packages:
python3 -m venv workflomics-env # Create a virtual environment named 'env' in the current directory
source workflomics-env/bin/activate # Activate environment before installing `workflomics`
Install workflomics-benchmarker
from PyPI using pip:
pip install workflomics-benchmarker
Alternatively, you clone the repository and can install it using Poetry by running:
git clone https://github.com/workflomics/workflomics-benchmarker.git
cd workflomics-benchmarker
poetry install
MS Windows users
- Install Windows Subsystem for Linux 2 and Docker Desktop.
- Install Debian from the Microsoft Store.
- Set Debian as your default WSL 2 distro:
wsl --set-default debian
. - Return to the Docker Desktop, choose
Settings
→Resources
→WSL Integration
and under "Enable integration with additional distros" select "Debian", - Reboot if you have not yet already.
- Launch Debian and follow the Linux instructions above (
pip install workflomics-benchmarker
)
Network problems from within WSL2? Try these instructions <https://github.com/microsoft/WSL/issues/4731#issuecomment-702176954>
_ followed by wsl --shutdown
.
Usage
Ensure Docker or Singularity is running before executing workflows. Here are the commands for both services:
Docker
workflomics benchmark tests/data/
Or directly with Python:
python src/benchmarker/workflomics.py benchmark tests/data/
The results will be saved in the ./tests/data
directory.
Singularity
To use Singularity, ensure it's installed and append the --singularity
flag:
python src/benchmarker/workflomics.py benchmark tests/data/ --singularity
Testing
Run the following command to execute tests:
poetry run pytest -s
This command runs a workflow and benchmarks it, assuming Docker is operational. Results are stored in the ./tests/data
directory.
Project details
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
Built Distribution
File details
Details for the file workflomics_benchmarker-0.2.1.tar.gz
.
File metadata
- Download URL: workflomics_benchmarker-0.2.1.tar.gz
- Upload date:
- Size: 18.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.11.2 Darwin/23.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96230cd117fbb774ca6672e245f82e1a09376f70a48915121210d55a0d871471 |
|
MD5 | 92e02708c6cabe005f2be0e1079ae1a5 |
|
BLAKE2b-256 | dbc9831896abb35719d2033e6d1a8fedd642c52cae4bc2b37d0b74e501f12ac1 |
File details
Details for the file workflomics_benchmarker-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: workflomics_benchmarker-0.2.1-py3-none-any.whl
- Upload date:
- Size: 20.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.11.2 Darwin/23.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43b960111ab49ccffba5b0271d318823f47587aa07a5ff3b7086d28216b192a4 |
|
MD5 | 24e956b59c8dc534b83ae946c00ee6dc |
|
BLAKE2b-256 | 63507b81f9bfa705e30ebf1302a128e8be95558c70ec74b93454e8960c8b00ac |