-
Notifications
You must be signed in to change notification settings - Fork 75
Expand file tree
/
Copy pathuv-install.sh
More file actions
48 lines (38 loc) · 1.5 KB
/
Copy pathuv-install.sh
File metadata and controls
48 lines (38 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/env bash
# anciennement "poetry-install.sh" -> maintenant setup uv
set -euo pipefail
# --- helpers ---
have_cmd() { command -v "$1" >/dev/null 2>&1; }
# --- gestion du paramètre d'entrée ---
USE_FROZEN=true
if [[ "${1:-}" == "no-frozen" ]]; then
echo ">> Paramètre 'no-frozen' détecté, les deps seront installés sans --frozen"
USE_FROZEN=false
fi
FROZEN_FLAG=""
$USE_FROZEN && FROZEN_FLAG="--frozen"
# 1) Installer uv si absent (Linux/macOS). Sur CI, il est déjà installé.
if ! have_cmd uv; then
echo ">> Installing uv..."
curl -LsSf https://astral.sh/uv/install.sh | sh
export PATH="$HOME/.local/bin:${PATH}"
fi
uv --version
uv python install 3.11
# 2) Verrouiller et installer les deps du workspace
echo ">> uv lock (root)"
uv sync $FROZEN_FLAG
echo ">> uv sync (root, dev group)"
uv sync --group dev $FROZEN_FLAG
# 3) Préparer les sous-projets
echo ">> uv sync subprojects (no-dev)"
( cd packages/mlopspython-extraction && uv sync --no-dev $FROZEN_FLAG )
( cd packages/mlopspython-inference && uv sync --no-dev $FROZEN_FLAG )
( cd production/api && uv sync --no-dev $FROZEN_FLAG )
( cd production/integration && uv sync --no-dev $FROZEN_FLAG || true )
( cd train/extraction && uv sync --no-dev $FROZEN_FLAG || true )
( cd train/label_split_data && uv sync --no-dev $FROZEN_FLAG || true )
( cd train/output && uv sync --no-dev $FROZEN_FLAG || true )
( cd train/test && uv sync --no-dev $FROZEN_FLAG || true )
( cd train/train && uv sync --no-dev $FROZEN_FLAG || true )
echo ">> uv setup complete."