careless: build venv with uv instead of conda (anaconda.com blocked on Ra)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-18 10:51:44 +02:00
co-authored by Claude Fable 5
parent 0b8fc62557
commit c0410dfe2d
3 changed files with 20 additions and 22 deletions
+12 -9
View File
@@ -8,17 +8,20 @@ inference (variational merging), built on TensorFlow.
## How it is built
The build installs a private miniconda into `$PREFIX/miniconda`, creates a
`careless_<version>` env with Python 3.12 (upstream supports >=3.9,<3.13),
and runs `pip install careless[cuda]==<version>` inside it. The `[cuda]`
extra pulls the NVIDIA libraries as pip wheels, so the same install works
on GPU and CPU-only Ra nodes.
Upstream recommends a fresh conda env, but repo.anaconda.com is not
reachable from Ra, so the build uses uv instead: it fetches a standalone
Python 3.12 into `$PREFIX/python` (upstream supports >=3.9,<3.13), creates
`$PREFIX/venv`, and runs `uv pip install careless[cuda]==<version>` into
it. The `[cuda]` extra pulls the NVIDIA libraries as pip wheels, so the
same install works on GPU and CPU-only Ra nodes.
Loading the module puts the env's `bin/` on `PATH` (the `careless` command
is directly available, no `conda activate` needed) and sets `CARELESS_ENV`
to the conda env path.
`uv` must be on PATH on the build host (e.g. `pip install --user uv`).
Loading the module puts the venv's `bin/` on `PATH` (the `careless`
command is directly available, no activation needed) and sets
`CARELESS_ENV` to the venv path.
## Adding a new version
Add the version under `versions:` in `files/config.yaml`, then on a Ra
login node: `./build <version>`.
login node: `modbuild build <version>` (modbuild/2.1.2).