miniwdl-fovus-runtime
=====================

This distribution ("miniwdl-fovus-runtime") is an UNOFFICIAL fork of miniwdl,
repackaged and modified by Fovus. It is NOT the official miniwdl project and is
not endorsed by or affiliated with the Chan Zuckerberg Initiative (CZI).

Upstream project:  chanzuckerberg/miniwdl
Upstream URL:      https://github.com/chanzuckerberg/miniwdl
Upstream license:  MIT (see LICENSE, retained verbatim)
Fork base:         upstream main @ 8443ffd ("Allow File/Directory path
                   construction within input Directory", #876), which is a
                   post-v1.14.2 commit.

The import package name remains "WDL" so that dependents (notably
miniwdl-fovus) require no code changes. Only the PyPI distribution name differs
from upstream to avoid a naming collision and to make the modified provenance
explicit.

Summary of modifications relative to the upstream base
------------------------------------------------------
All changes support running WDL tasks over non-POSIX shared storage (e.g.
mountpoint-s3 / Fovus shared storage) via the miniwdl-fovus container backend.
See CHANGES.md for the per-file detail. In brief:

- WDL/_util.py: rename/symlink/atime operations gain fallbacks for mounts that
  do not implement rename(); a host-only bookkeeping redirect writes provenance
  files off the mount when MINIWDL_HOST_BOOKKEEPING_MOUNT/ROOT are set.
- WDL/runtime/{task,workflow}.py: honor a new skip_output_links config option,
  flock an adjacent lockfile instead of the open log file, and bind a
  (sub)workflow's declared outputs before the output-link step.
- WDL/runtime/config_templates/default.cfg: add the skip_output_links option.
- pyproject.toml: rename distribution, pin an explicit version (upstream uses
  setuptools-scm, which requires full git history unavailable in vendored/
  shallow builds).

For the exact diff, compare this tree against upstream commit 8443ffd.
