Caper

Latest version: v2.3.2

Safety actively analyzes 630254 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 7 of 15

0.6.0

**IMPORATNT**: Caper defaults back to **NOT** use a file-based metadata DB, which means no call-caching (re-using outputs from previous workflows) by default.

**IMPORATNT**: Even if you still want to use a file-based DB (`--db file` and `--file-db [DB_PATH]`), metadata DB generated from Caper<0.6 (with Cromwell-42) is not compatible with metadata DB generated from Caper>=0.6 (with Cromwell-47). Refer to [this doc](https://github.com/broadinstitute/cromwell/releases/tag/43) for such migration.

See [this](metadata-database) for details about metadata DB. Define a DB type with `db=` in your conf `~/.caper/default.conf` to use a metadata DB.

Engine update
- Upgraded default crowmell JAR version: 42 -> 47
- Some feature of Caper will only work with 47 (e.g. PostgreSQL support, some bug fixes).

Then how to choose a DB?
- You can choose a DB type with `--db` (or `db=` in conf file `~/.caper/default.conf`). Then define chosen DB's required parameters (nothing required for `in-memory` DB).
- Choices: `file` (unstable), `mysql` (recommended), `postgresql` and `in-memory` (new default but no call-caching).
- `mysql` is recommended. We provide shell scripts (`run_mysql_server_docker.sh` and `run_mysql_server_singularity.sh`) to run a MySQL server with docker/singularity (without root).
- See details at "Metadata database" section on README.

New features
- Support for PostgreSQL DB for call-caching (Cromwell >= 43)

Change of parameters
- New:
- `--db`: `in-memory` (default), `file` (unstable), `mysql` (recommended) or `postgresql` (experimental).
- `--mysql-db-name`: (optional) `cromwell` by default
- `--postgresql-db-ip`: `localhost` by default
- `--postgresql-db-port`: `5432` by default
- `--postgresql-db-user`: (optional) `cromwell` by default
- `--postgresql-db-password`: (optional) `cromwell` by default
- `--postgresql-db-name`: (optional) `cromwell` by default
- Deprecated:
- `--no-file-db`: File DB is disabled by default. Many users reported that a file DB is unstable.

Bug fixes
- [PAPI v10 error](https://github.com/broadinstitute/cromwell/releases/tag/46) (preemption error) on Google Cloud.
- Caper didn't run WDL without `--docker` on cloud backends (`aws` and `gcp`).
- Some WDL has docker image definition in each task (`runtime { docker : }`). Users had to specify a dummy docker image `--docker ubuntu:latest` to bypass this error.

0.5.6

Bug fix
- cloud backends not working due to failed localization of an input JSON file

0.5.5

Bug fixes
- `womtool` validation fails on remote cloud backends (`gcp` and `aws`).

0.5.4

Validation for WDL/input JSON
- added `womtool` validation for WDL and input JSON
- useful to find missing/wrong parameters in input JSON

New parameters
- `--womtool`: womtool JAR location (URL or path). 42 by default.
- `--ignore-womtool`: Flag. Ignore womtool validation.

Added `dict_tool.py` (for new tool `qc2tsv`)
- useful dict functions
- `merge_dict(a, b)`: Merge dict b into dict a.
- `split_dict()`: Split dict into multiple dicts according to given "split_rule" (REGEX)
- `flatten_dict()/unflatten_dict()`: Flatten dict with a 1-level tuple key. This tuple key keeps hierachy of original dict object in it.

0.5.3

Bug fixes
- issue 27: PBS command `qstat -j` -> `qstat`.
- Deepcopied temporary TSV/CSV/JSON files with a suffix were stored on the original storage (directory), which resulted in an error if users don't have write permission on it. Deepcopied TSV/CSV/JSON files are now stored locally and then transferred to target storage's tmp directory.

0.5.2

Bug fixes
- Subworkflow WDLs are not zipped
- issue 26 (wrong export of `os.environ`)

Change of default parameters:
- `java-heap-server`: 7G -> 10G
- `java-heap-run`: 1G -> 2G

Page 7 of 15

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.