Skip to content

0.3.0

Choose a tag to compare

@ramanse ramanse released this 06 Sep 18:18
· 132 commits to main since this release

Changed

  • Modules are grouped by layer: clew.graph, clew.ledger,
    clew.extract, clew.questions, clew.views. clew.core is gone. The public API is
    clew.load_graph, blast_radius, classify, parse_trigger and
    resolve_trigger. Commands are unchanged.
  • clew stitch joins runs by content digest. --results is gone.

Added

  • clew reclaim: which work directories are safe to delete, with the
    proof for each. Nothing is removed without --apply and a receipt.
  • Content digests in the graph, digest fields of the form
    <algorithm>:<value>, recorded by the Horus, Snakemake and Nextflow
    store extractors where the engine has them.
  • clew digest: hash a run's files once, for runs the engine recorded
    without content digests.
  • DNAnexus support: clew extract-dnanexus builds a graph from an
    analysis, over the API or from saved describe output. Edges join on
    file ID. Optional price and duration_s per task.
  • Latch support: clew extract-latch builds a graph from an execution,
    over the API or from saved records. Edges join on latch:// path.
  • Cromwell support: clew extract-cromwell builds a graph from workflow
    metadata, from a file or a server. Scatters become one node per shard,
    subworkflows are flattened, edges join on path. Verified on Cromwell 92.
  • Snakemake support: clew extract-snakemake reads the .snakemake
    metadata store, file or SQLite backend, and carries Snakemake's own
    input checksums onto the edges. Verified on Snakemake 9.26.
  • A graph contract in core, contract_violations, run by the tests over
    every shipped and fixture graph.

Fixed

  • The runtime version now matches the package version. 0.2.0 reported
    itself as 0.1.1.