{
  "slug": "hf-jobs-uv-run-reads-launch-config-from-uv-scripts-27deeb19bc38",
  "title": "hf jobs uv run reads launch config from UV scripts",
  "tools": [
    "hf"
  ],
  "tags": [
    "agent"
  ],
  "introduced_at": "2026-09-17T10:21:24.000Z",
  "announced_at": "2026-09-17T10:21:24.000Z",
  "effective_at": null,
  "date_basis": "source-publication",
  "status": "unknown",
  "how": {
    "incantation": "When a UV script needs a specific runtime or launch configuration, declare optional settings in its PEP 723 `[tool.hf-jobs]` table and run `hf jobs uv run <script>`. Script values act as defaults; CLI flags override them, while `env`, `secrets`, `labels`, and `volumes` merge entry by entry.",
    "examples": [
      "hf jobs uv run <script.py>",
      "# /// script\n# requires-python = \">=3.11\"\n# dependencies = [\"vllm\", \"datasets\"]\n#\n# [tool.hf-jobs]\n# image = \"vllm/vllm-openai:unlimited-ocr\"\n# flavor = \"l4x1\"\n# python = \"/usr/bin/python3\"\n# secrets = [\"HF_TOKEN\"]\n# ///\nhf jobs uv run <script.py>"
    ],
    "gotchas": [
      "Version: v1.32.0",
      "SCRIPT (required): Local UV script or URL to run.",
      "image: Docker image; use an image with `uv` installed.",
      "flavor: Hardware flavor for the job.",
      "python: Python interpreter for the run environment.",
      "timeout: Job timeout; documented examples accept seconds or time units such as `2h`.",
      "name: Job name, stored as the `name` label.",
      "namespace: Namespace under which the job runs.",
      "env: Environment variables; CLI `-e`/`--env` accepts `NAME=value`. Entries merge with CLI entries.",
      "secrets: Secret names; values are read from the local environment. An unset secret is an error. Entries merge with CLI entries.",
      "labels: Job metadata labels; docs allow label or `key=value` forms. Entries merge with CLI entries.",
      "volumes: Job volumes; entries merge with CLI entries.",
      "network_group: Join a network group; group names allow lowercase letters, digits, and dashes, up to 46 characters.",
      "network_aliases: Aliases for jobs in a network group; aliases allow lowercase letters, digits, and dashes, up to 34 characters, and must be unique per job.",
      "Prerequisite: Be authenticated with `hf auth login` using a token permitted to start and manage Jobs; Jobs require a positive credit balance.",
      "Typos and unknown keys are rejected with the list of valid options.",
      "Each run prints a config summary with script-sourced values marked and secrets redacted.",
      "The table is read by the CLI only; `run_uv_job()` and `create_scheduled_uv_job()` ignore it."
    ]
  },
  "why_it_matters": "Run a UV script as a Job with its runtime and launch settings declared in the script.",
  "sources": [
    "https://github.com/huggingface/huggingface_hub/releases/tag/v1.32.0",
    "https://huggingface.co/docs/hub/jobs-configuration",
    "https://huggingface.co/docs/huggingface_hub/package_reference/cli"
  ],
  "rank": 0.97056,
  "judge": {
    "publish": true,
    "judge_model": "codex-cli/gpt-6-luna+typesafe/jev-1.13.0",
    "prompt_version": "extract-v7+enrich-v2+judge-v2x3+jev-publish-v1"
  },
  "review_state": "approved",
  "provenance": {
    "run_id": "wave2b-20261017",
    "verdict_id": "wave2b-20261017:wave2b-20261017-ce6b9d1ca4312a65-1:gate",
    "evidence_hash": "6ed38e3981f16aa5af27f57ebb3caa09482c2e8f2c23a4fa1336d9ccaaf35212"
  },
  "review": {
    "draft_hash": "f62822bb68ee2a5fb6b07e4327e84741cee3d5aef773d3c24ed5753b01611c2c",
    "reviewer": "publication-gate",
    "reviewed_at": "2026-10-07T00:00:00.000Z",
    "decision": "wave2b-20261017:gate",
    "reason": "3 of 3 judge runs approved with p_yes >= 0.9 (mean 0.97 >= 0.9; 2 needed) and Jev gave 0.72 (>= 0.6 needed)."
  }
}
