cluv
cluv — sync and submit UV-based Python projects across HPC clusters.
Requirements
- Python >= 3.11
- UV
- SSH access configured for each cluster in
~/.ssh/config - A GitHub repository with your project
Installation
To add cluv to your project, use uv add or pip install:
uv add cluster-uv
To also include the Cluv Hydra launcher:
uv add cluster-uv[hydra]
Install as a command-line tool in an isolated environment:
uv tool install cluster-uv
If you want the bleeding edge version from GitHub, use:
uv add git+https://github.com/mila-iqia/cluv
Then you can run cluv directly as a command:
cluv init
cluv login mila
cluv sync mila
cluv submit mila job.sh
Documentation
- Full documentation : See https://mila-iqia.github.io/cluv/.
- Command line help : Use
cluv --helporcluv <command> --help. - Examples : See the examples folder for sample projects using cluv. Each example includes a README with instructions specific to that project.
Quick Start
- Initialize your project with:
cluv init - Establish SSH connections to all configured clusters:
cluv login - Sync your project to all clusters and run
uv syncon each:cluv sync
Configuration
Add a [tool.cluv] section to the pyproject.toml of your project to manage the behavior of the tool.
The command cluv init will add a default config if it doesn't already exists in the .toml.
See the config at the project root for an example, or refer to the docs.
Metadata
Release files for cluster-uv 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cluster_uv-0.1.5.tar.gz | 324.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cluster_uv-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 418.0 kB
Release files / cluster_uv-0.1.5.tar.gz
| Download URL | cluster_uv-0.1.5.tar.gz |
|---|---|
| Size | 324.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aef99ddf0b79abbc4d4672ce8762a9679fe9ec221ae57bda8b0a51dff5b72854
|
|
BLAKE2b-256 checksum How to use checksums |
28e18dec1da460ceba0e8b1cd80d9cd3e2715a6637837eae5b3a9a58580dffce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / cluster_uv-0.1.5-py3-none-any.whl
| Download URL | cluster_uv-0.1.5-py3-none-any.whl |
|---|---|
| Size | 93.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
564bbfa47676b6f88a334a2be27fdd17d728f65474946fe80a8b835be8be0038
|
|
BLAKE2b-256 checksum How to use checksums |
b59a6e037e73f52228bac7932ab5409c1d29062bd364609c8a328cf21a25a4a6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency log