quacc icon indicating copy to clipboard operation
quacc copied to clipboard

The `copy_files` keyword can fail when using the output directory from a prior `@job` with Parsl

Open Andrew-S-Rosen opened this issue 1 year ago • 0 comments

Details about the quacc environment

  • quacc version: 0.6.8
  • Python version: 3.9+

What is the issue?

When using the copy_files keyword argument and passing in something like {directory: "*"} where directory is an AppFuture from a prior run, Parsl won't know to autoresolve the dictionary, and a crash will occur.

Minimal examples:

  • Parsl: https://github.com/Parsl/parsl/issues/3108

This will be solved upstream in Parsl via the following PR:

  • https://github.com/Parsl/parsl/pull/3111

How can we easily reproduce the issue?

Pytest examples:

Parsl:

def test_copy_files(tmp_path, monkeypatch):
    monkeypatch.chdir(tmp_path)
    atoms = bulk("Cu")

    @flow
    def myflow(atoms):
        result1 = relax_job(atoms)
        return relax_job(result1["atoms"], copy_files={result1["dir_name"]: "opt.*"})

    assert "atoms" in myflow(atoms).result()

Andrew-S-Rosen avatar Feb 28 '24 02:02 Andrew-S-Rosen