#!/usr/bin/env python3 """Lance l'ensemble du pipeline de préparation des données brutes en une commande.""" from __future__ import annotations import subprocess import sys from pathlib import Path ROOT = Path(__file__).resolve().parents[1] COMMANDS = [ [sys.executable, "-m", "scripts.clean_csv_exports"], [sys.executable, "docs/02 - Préparation des données/scripts/export_station_data_full.py"], [sys.executable, "docs/02 - Préparation des données/scripts/format_raw_csv.py"], [sys.executable, "docs/02 - Préparation des données/scripts/fill_formatted_1s.py"], [sys.executable, "docs/02 - Préparation des données/scripts/make_minutely_dataset.py"], ] def run_commands() -> int: for cmd in COMMANDS: print(f"\n=== Exécution : {' '.join(cmd)} ===") result = subprocess.run(cmd, cwd=ROOT, check=False) if result.returncode != 0: print(f"✘ Commande échouée ({result.returncode}) : {' '.join(cmd)}") return result.returncode print("✔ OK") return 0 def main() -> None: code = run_commands() if code == 0: print("\n✔ Pipeline de préparation exécuté sans erreur.") sys.exit(code) if __name__ == "__main__": main()