)]}'
{
  "commit": "fa2aa2467720a776411c21a197c7c386f8405be1",
  "tree": "6a19b83811f1e7e5fc42cfcbf33a7117f5a0dbd7",
  "parents": [
    "0a3c33270242745806c9d1b3ad63771719294a6a"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "richardlev@gmail.com",
    "time": "Tue Oct 13 18:01:31 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Oct 13 18:01:31 2026 +0000"
  },
  "message": "feat(packaging): support Python toolchain make variables in py_wheel (#4257)\n\nSetting version-specific wheel tags (`python_tag`, `abi`, `platform`)\nand `python_requires` metadata in `py_wheel` previously required custom\n`select()` expressions or `TemplateVariableInfo` rules. Additionally,\n`platform` and `python_requires` did not expand make variables.\n\nPopulate `TemplateVariableInfo` on `py_runtime_pair` with Python\nversion, implementation, and wheel tag variables (such as\n`PY_WHEEL_PYTHON_TAG`, `PY_WHEEL_ABI_TAG`, and `PY_MAJOR_DOT_MINOR`),\nand forward them through `current_py_toolchain`. Attach the target\nPython toolchain to `py_wheel` so these variables are available by\ndefault, and expand make variables in `platform` and `python_requires`.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0248ff802b81acaa2a91e9d53fd1b0cd3d8fe070",
      "old_mode": 33188,
      "old_path": "docs/howto/build-a-wheel.md",
      "new_id": "d93155f9c4af3b51bf9ca774b810a32da534a4d9",
      "new_mode": 33188,
      "new_path": "docs/howto/build-a-wheel.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2ae604c58d2b705028a6664b458e2fdd1617a700",
      "new_mode": 33188,
      "new_path": "news/py-wheel-makevars.added.md"
    },
    {
      "type": "modify",
      "old_id": "4fb9eb9eedc511821a613d09f576886d50cd217d",
      "old_mode": 33188,
      "old_path": "python/current_py_toolchain.bzl",
      "new_id": "0e7ab684af22023c2b5c5337771de901ff55af05",
      "new_mode": 33188,
      "new_path": "python/current_py_toolchain.bzl"
    },
    {
      "type": "modify",
      "old_id": "fb333ca72f236b795c82df14ea20fb42dacf0004",
      "old_mode": 33188,
      "old_path": "python/packaging.bzl",
      "new_id": "1ec1d380dfc9b7ee805c0cf1d66f291632cdd19b",
      "new_mode": 33188,
      "new_path": "python/packaging.bzl"
    },
    {
      "type": "modify",
      "old_id": "d13e13ad7370507b621724b0a8fb68f863e24658",
      "old_mode": 33188,
      "old_path": "python/private/BUILD.bazel",
      "new_id": "0f5c078fbdd48b3f68b876532bbae23ca11d62b7",
      "new_mode": 33188,
      "new_path": "python/private/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "c6c4c34d191601aac152bd869ca18945f2d024c4",
      "old_mode": 33188,
      "old_path": "python/private/py_runtime_pair_rule.bzl",
      "new_id": "c339e0bd6778c520903c77bfd3a3cae22ab49008",
      "new_mode": 33188,
      "new_path": "python/private/py_runtime_pair_rule.bzl"
    },
    {
      "type": "modify",
      "old_id": "c28aefff48696833b8ecc1b834be36dd32f36f15",
      "old_mode": 33188,
      "old_path": "python/private/py_wheel.bzl",
      "new_id": "c44623f2f7e8a9da5869f17296b9b83dd06a5e77",
      "new_mode": 33188,
      "new_path": "python/private/py_wheel.bzl"
    },
    {
      "type": "modify",
      "old_id": "f44c722d54a78d80727c98a3e0ca0080ba848704",
      "old_mode": 33188,
      "old_path": "python/py_runtime_pair.bzl",
      "new_id": "497baf929d916206073ebab003048d32c2ecda13",
      "new_mode": 33188,
      "new_path": "python/py_runtime_pair.bzl"
    },
    {
      "type": "modify",
      "old_id": "f8656977e08815eb318c6f1cd44c2431451c3c5e",
      "old_mode": 33188,
      "old_path": "tests/py_runtime_pair/py_runtime_pair_tests.bzl",
      "new_id": "eeb847f265d5f75a41ff7c82184e6659e2adfb16",
      "new_mode": 33188,
      "new_path": "tests/py_runtime_pair/py_runtime_pair_tests.bzl"
    },
    {
      "type": "modify",
      "old_id": "f39397bb40a6691fc8b83b599f822a612e2303f9",
      "old_mode": 33188,
      "old_path": "tests/py_wheel/py_wheel_tests.bzl",
      "new_id": "92fb73f6c20c15da7dd90614311001e48a71dfa0",
      "new_mode": 33188,
      "new_path": "tests/py_wheel/py_wheel_tests.bzl"
    }
  ]
}
