# rye:signed:2026-04-01T05:31:37Z:418f8279c5975148e6122f18040583c35848d3dfbe8697fa1110594c8b5490d1:qkCY7SiMMIdgGt6I3OhNNxWWUcBzsRvPFweC9hxUf0z6gIgUhO58dU5XDCwvQL5Q5cPRh7hWe8T4TsLZtkCzBg:6ea18199041a1ea8
version: "1.0.0"
tool_type: runtime
executor_id: rye/core/primitives/subprocess
category: rye/core/runtimes/python
description: "Python script runtime - runs Python scripts that manage their own __main__ entry point"

env_config:
  interpreter:
    type: local_binary
    binary: python
    candidates: [python3]
    search_paths: [".venv/bin", ".venv/Scripts"]
    var: RYE_PYTHON
    fallback: python3
  env:
    PYTHONUNBUFFERED: "1"
    PROJECT_VENV_PYTHON: "${RYE_PYTHON}"

anchor:
  enabled: true
  mode: auto
  markers_any: ["__init__.py", "pyproject.toml"]
  root: tool_dir
  lib: lib
  env_paths:
    PYTHONPATH:
      prepend: ["{anchor_path}", "{runtime_lib}"]

verify_deps:
  enabled: true
  scope: anchor
  recursive: true
  extensions: [".py", ".yaml", ".yml", ".json"]
  exclude_dirs: ["__pycache__", ".venv", "node_modules", ".git", "config"]

config:
  command: "${RYE_PYTHON}"
  args:
    - "{tool_path}"
    - "--project-path"
    - "{project_path}"
  input_data: "{params_json}"
  timeout: 300

config_schema:
  type: object
  properties:
    script:
      type: string
      description: Python script path or inline code
    args:
      type: array
      items:
        type: string
      description: Script arguments
    module:
      type: string
      description: "Module to run with -m flag"
