uv#

End-to-end walk-through of workflow installation and execution with uv.

Install uv#

export UV_INSTALL_DIR=$HOME/.local/uv/bin  # default location
curl -LsSf https://astral.sh/uv/install.sh | INSTALLER_NO_MODIFY_PATH=1 sh
export PATH=$UV_INSTALL_DIR:$PATH

Producer side#

Create a uv project, add ewoks to it and store a workflow with the packages of its environment as its requirements. The pyproject.toml and uv.lock of the project are stored as well.

uv init ewoks_producer
uv add --project ewoks_producer ewoks
uv run --project ewoks_producer ewoks convert demo demo.json --test

Install any package that provides tasks instead of ewoks for a real workflow.

Re-producer side#

Only ewoks itself is needed to recreate the environment of demo.json

uv init ewoks_reproducer
uv add --project ewoks_reproducer ewoks
uv run --project ewoks_reproducer ewoks install demo.json --yes --env-root ewoks_envs

The environment of the workflow is a uv project in ewoks_envs/demo with the virtual environment in its .venv directory.

Execute the workflow#

uv run --project ewoks_reproducer ewoks execute --env ewoks_envs/demo demo.json --outputs=all

Clean up#

rm -rf ewoks_producer ewoks_reproducer ewoks_envs demo.json