{
  "id": "openvla-vla-scripts-deploy-py",
  "name": "OpenVLA: REST policy inference server",
  "summary": "Pinned server entrypoint that loads an OpenVLA policy and serves action predictions over its upstream FastAPI REST interface. Statically reviewed source only; not run and no Hub preparation adapter.",
  "framework": "openvla",
  "kind": "official_example",
  "source_registry": "official-robot-workflows-v1",
  "capabilities": [
    "policy-serving",
    "robot-workflow"
  ],
  "robot_types": [
    "source-defined"
  ],
  "robot_scope": "Source-configured workflow. The selected dataset, checkpoint, simulator/controller and observation/action schema determine applicability; no specific robot names, compatibility combinations or Hub support are inferred.",
  "source": {
    "repository": "https://github.com/openvla/openvla",
    "commit": "c8f03f48af692657d3060c19588038c7220e9af9",
    "tag": "main",
    "path": "vla-scripts/deploy.py",
    "url": "https://github.com/openvla/openvla/blob/c8f03f48af692657d3060c19588038c7220e9af9/vla-scripts/deploy.py",
    "raw_url": "https://raw.githubusercontent.com/openvla/openvla/c8f03f48af692657d3060c19588038c7220e9af9/vla-scripts/deploy.py",
    "sha256": "14d74c56a437058eb473f41f93a0a82ec892e16e55ed91236c5d30f4fd8adc65",
    "bytes": 5554,
    "authors": [
      "Moo Jin Kim",
      "Karl Pertsch",
      "Siddharth Karamcheti"
    ]
  },
  "license": {
    "spdx": "MIT",
    "url": "https://github.com/openvla/openvla/blob/c8f03f48af692657d3060c19588038c7220e9af9/LICENSE",
    "sha256": "c4ee2ba5958af03d74b1d3dfa174e3749171d689fb4c23cc170749c05ae3eeb5",
    "scope": "Selected first-party Python workflow source only. Preserve upstream copyright and per-file notices. Model weights, datasets, third-party code, robot drivers/firmware and services retain separate terms; no rights for those assets are inferred.",
    "bytes": 1105
  },
  "access": {
    "mode": "source_reference",
    "hub_prepare": false,
    "instructions": "Fetch the pinned repository, verify this source checksum, and use upstream installation and invocation. This record does not install or execute code.",
    "setup_url": "https://github.com/openvla/openvla/blob/c8f03f48af692657d3060c19588038c7220e9af9/README.md",
    "setup_evidence": [
      {
        "path": "README.md",
        "url": "https://github.com/openvla/openvla/blob/c8f03f48af692657d3060c19588038c7220e9af9/README.md",
        "sha256": "ba8e9a2884e38a8000dafc98af4116512e37b0e143dad2f940100482bfd6b75c",
        "bytes": 38458,
        "purpose": "Author/setup, separate model-license declaration, training and robot evaluation instructions"
      },
      {
        "path": "pyproject.toml",
        "url": "https://github.com/openvla/openvla/blob/c8f03f48af692657d3060c19588038c7220e9af9/pyproject.toml",
        "sha256": "1ea10f21c13dd82cb9255f6edbd5ac477143937ff51d22740830e4e7d08d3b45",
        "bytes": 2553,
        "purpose": "First-party code authors, Python minimum and pinned packages"
      },
      {
        "path": "requirements-min.txt",
        "url": "https://github.com/openvla/openvla/blob/c8f03f48af692657d3060c19588038c7220e9af9/requirements-min.txt",
        "sha256": "bc8177f94a408f1c034f5efb4d34dafb29beb6d1ff9cfba6cf1f73835f7af98d",
        "bytes": 86,
        "purpose": "Minimal inference dependency pins"
      },
      {
        "path": "experiments/robot/libero/libero_requirements.txt",
        "url": "https://github.com/openvla/openvla/blob/c8f03f48af692657d3060c19588038c7220e9af9/experiments/robot/libero/libero_requirements.txt",
        "sha256": "ab74171b8df14e391b7759f01c4c4a2334c9a362e91abeb67337f3a0d9447369",
        "bytes": 63,
        "purpose": "LIBERO evaluation-specific package declarations"
      }
    ]
  },
  "requirements": {
    "python": ">=3.8 in project metadata; upstream setup uses Python 3.10.",
    "packages": [
      "Pinned OpenVLA checkout",
      "Upstream PyTorch 2.2.0, transformers 4.40.1, timm 0.9.10 and tokenizers 0.19.1 pins",
      "Workflow-specific dependencies in pinned README and source"
    ],
    "display": "Hardware: Docstring describes a GPU server. Source selects cuda:0 if available and otherwise CPU, while requesting flash_attention_2 and bfloat16. CPU success and minimum VRAM are not established. Weights: Loads AutoProcessor and AutoModelForVision2Seq from the configured model path; default is openvla/openvla-7b. from_pretrained is called with trust_remote_code=True. No weights or remote model code were fetched. Datasets: Accepts caller-provided image/instruction observations; no training dataset is required by this server entrypoint. Services/auth: Starts a local HTTP API, default host 0.0.0.0/port 8000. No provider API key or authentication requirement is declared by the selected entrypoint; remote model retrieval may occur when a model ID is used.",
    "execution_domain": "computation",
    "source_imports": [
      "PIL",
      "dataclasses",
      "draccus",
      "fastapi",
      "fastapi.responses",
      "json",
      "json_numpy",
      "logging",
      "os.path",
      "pathlib",
      "torch",
      "traceback",
      "transformers",
      "typing",
      "uvicorn"
    ],
    "notes": "The source starts a network listener and permits model-provided remote code when actually run. This record is inert provenance, not permission to execute it. Code licensing does not establish model, checkpoint, dataset or service permission.",
    "declared_requirements": {
      "python": ">=3.8 in project metadata; upstream setup uses Python 3.10.",
      "weights": "Loads AutoProcessor and AutoModelForVision2Seq from the configured model path; default is openvla/openvla-7b. from_pretrained is called with trust_remote_code=True. No weights or remote model code were fetched.",
      "datasets": "Accepts caller-provided image/instruction observations; no training dataset is required by this server entrypoint.",
      "hardware": "Docstring describes a GPU server. Source selects cuda:0 if available and otherwise CPU, while requesting flash_attention_2 and bfloat16. CPU success and minimum VRAM are not established.",
      "external_services_and_auth": "Starts a local HTTP API, default host 0.0.0.0/port 8000. No provider API key or authentication requirement is declared by the selected entrypoint; remote model retrieval may occur when a model ID is used.",
      "evidence": [
        {
          "anchor": "self.device = torch.device",
          "line": 74
        },
        {
          "anchor": "trust_remote_code=True",
          "line": 77
        },
        {
          "anchor": "port: int = 8000",
          "line": 120
        }
      ],
      "license_scopes": {
        "code": "MIT for selected first-party workflow source.",
        "weights": "README explicitly says the released OpenVLA models derive from Llama-2 and are subject to the Llama Community License. No checkpoint/model card/base-model license was fetched or evaluated here; MIT is asserted only for the selected first-party Python source.",
        "datasets": "README names BridgeData V2, Open X-Embodiment and LIBERO datasets. Individual dataset terms were not reviewed, and repository MIT is not applied to them.",
        "third_party_code": "External dependencies retain their own licenses."
      },
      "interpretation": "Pinned upstream declarations only; no dependency resolution, model/data access, compatibility inference or runtime validation was performed."
    }
  },
  "invocation": {
    "entrypoint": "python vla-scripts/deploy.py --openvla_path <approved-local-checkpoint-or-reviewed-model-id>",
    "notes": "The source starts a network listener and permits model-provided remote code when actually run. This record is inert provenance, not permission to execute it."
  },
  "popularity": {
    "metric": "github_stars",
    "repository_stars": 7166,
    "checked_at": "2026-10-17",
    "meaning": "Dated repository interest, not robot-skill usage, compatibility or runtime success."
  },
  "evidence": {
    "level": "source_reviewed",
    "runtime_verification": "not_run",
    "checked_at": "2026-10-17",
    "inspection": "Verified exact source, applicable license and author/setup document bytes at a full Git commit; parsed the Python AST and reviewed this guarded operational entrypoint and its explicit license notices. No upstream code, installation, robot command, dataset, mesh or checkpoint was executed or loaded.",
    "entrypoint_kind": "python_main",
    "inspection_method": "automated_static"
  },
  "artifact": {
    "kind": "workflow",
    "format": "python",
    "workflow_role": "policy-serving"
  }
}
