# rye:signed:2026-04-10T02:20:26Z:39eaa0ad64655870b3c2f8c588c0d931bb298fbe49dc1c2f9452dee17835d0d8:eUf7X-KqM4GSXXBtSHXBXVf7IUsE5O-qJC_fRBoPpkeAI5wEH5NpTrIAVekmUAM4Lq-OOf01A3Zb5hdGAQzCAg:6ea18199041a1ea8
# rye:unsigned
version: "1.0.0"
tool_type: runtime
executor_id: rye/core/primitives/execute
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_resolve:
  path: "execution/execution.yaml"
  mode: "deep_merge"

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"
