How does this compare … — Renku 0.11.2.dev14+dirty documentation

Join us on GitHub

# How does this compare …

There are many tools that can be used for doing your day-to-day work. Renku is not a silver bullet or a magic wand for making your results reproducible.

## … to `Makefile`

If you are using `Makefile` to generate your outputs you are on a good path. However you might be missing versioning of your past executions.

Renku internally builds rules similar to those defined in a `Makefile` and makes sure that all files are saved before running a tool.

Running the following `renku run` commands

    $ renku run echo test > foo
    $ renku run wc -c < foo > foo.wc

is equivalent to this simple `Makefile`.

    foo:
      @echo test > foo

    foo.wc: foo
      @wc -c < foo > foo.wc

Renku also makes sure that if any of the inputs are modified only the necessary “rules” are invoked. In addition, make does not run the rule if all dependencies are older then the targets.

    $ renku run echo second > foo
    $ renku status
    On branch master
    Outdated outputs:
      (use "renku log [<file>...]" to see the full lineage)
      (use "renku update [<file>...]" to generate the file from its latest inputs)

           foo.wc: foo#deadbeef

    $ renku update foo.wc
    $ renku status
    On branch master
    All files were generated from the latest inputs.

Note

As a bonus the `Makefile` can be generated by running `renku log --format Makefile foo.wc` command.