biowdl / wdl-packager

Package a WDL and its imports into a zip file
MIT License
8 stars 2 forks source link

wdl-packager

.. Badges have empty alts. So nothing shows up if they do not work. .. This fixes readthedocs issues with badges. .. image:: https://img.shields.io/pypi/v/wdl-packager.svg :target: https://pypi.org/project/wdl-packager/ :alt:

.. image:: https://img.shields.io/conda/v/conda-forge/wdl-packager.svg :target: https://anaconda.org/conda-forge/wdl-packager :alt:

.. image:: https://img.shields.io/pypi/pyversions/wdl-packager.svg :target: https://pypi.org/project/wdl-packager/ :alt:

.. image:: https://img.shields.io/pypi/l/wdl-packager.svg :target: https://github.com/biowdl/wdl-packager/blob/master/LICENSE :alt:

.. image:: https://travis-ci.com/biowdl/wdl-packager.svg?branch=develop :target: https://travis-ci.com/biowdl/wdl-packager :alt:

.. image:: https://codecov.io/gh/biowdl/wdl-packager/branch/develop/graph/badge.svg :target: https://codecov.io/gh/biowdl/wdl-packager :alt:

Package a WDL and its imports into a zip file. This idea has since been ported to miniwdl <https://github.com/chanzuckerberg/miniwdl>_ and is now available as the miniwdl zip command. Miniwdl zip packages reproducibly by default (no --reproducible flag needed) and does not require git for the reproducible packaging to work correctly. As such miniwdl is the preferred option for packaging WDL files.

The zip file can be used as a valid imports zip for cromwell <https://github.com/broadinstitute/cromwell>_. It can also be used to archive your workflow.

Wdl-packager can create zip packages that are binary reproducible <https://reproducible-builds.org/>_ when used with the --reproducible flag. It can also include additional files such as licenses, READMEs and example configuration files. This makes it ideal for distributing WDL workflows as packages.

Wdl-packager currently only supports file based imports.

Usage

.. code-block:: text

usage: wdl-packager [-h] [-o OUTPUT] [-a ADDITIONAL_FILES]
                    [--use-git-version-name] [--use-git-commit-timestamp]
                    [--reproducible] [--version]
                    WDL_FILE

positional arguments:
  WDL_FILE              The WDL file that will be packaged.

optional arguments:
  -h, --help            show this help message and exit
  -o OUTPUT, --output OUTPUT
                        The output zip file. By default uses the name of the
                        input. This overrides the git name option.
  -a ADDITIONAL_FILES, --additional-file ADDITIONAL_FILES
                        Additional files to be included in the zip. Additional
                        files will be added according to their relative
                        position to the WDL file. If that is not possible they
                        will be added to the base of the zip. Multiple '-a'
                        flags can be used.
  --use-git-version-name
                        Use git describe to determine the name of the zip.
  --use-git-commit-timestamp
                        Use the git commit timestamp to timestamp all the
                        files in the zip.
  --reproducible        shorthand for --use-git-version-name and --use-git-
                        commit-timestamp
  --version             show program's version number and exit

Reproducibility

The internal process to create a reproducible package is as follows:

The name for a reproducible package consists of

Known issues