--- name: uv_add_packages kind: function lang: bash domain: infra version: "1.0.0" purity: impure signature: "uv_add_packages(project_dir: string, ...packages: string) -> void" description: "Instala paquetes Python en un proyecto usando uv add con fallback a pip. Inicializa pyproject.toml si no existe." tags: [python, uv, pip, packages, infra] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "error_go_core" imports: [] params: - name: project_dir desc: "directorio del proyecto con venv existente" - name: packages desc: "nombres de paquetes Python a instalar (variadic)" output: "sin salida" tested: false tests: [] test_file_path: "" file_path: "bash/functions/infra/uv_add_packages.sh" --- ## Ejemplo ```bash source uv_add_packages.sh uv_add_packages /home/lucas/analysis/finanzas jupyter jupyterlab pandas numpy # Solo un paquete uv_add_packages . polars ``` ## Notas Requiere que el venv ya exista (usa `init_uv_venv` antes). Prefiere uv por velocidad y reproducibilidad (lockfile). Si uv no esta disponible, usa pip del venv directamente.