)]}'
{
  "commit": "45762fc5ee7eb3c3f8943f9a2a47303233a25800",
  "tree": "53d6c5cf3f1098688e0d2426a2c5b29de5cb9b52",
  "parents": [
    "fec87e4f987f6bed7344d03cb4277c50d33a2d71"
  ],
  "author": {
    "name": "Greg",
    "email": "gregestren@users.noreply.github.com",
    "time": "Mon Sep 22 22:40:01 2025 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Sep 23 02:40:01 2025 +0000"
  },
  "message": "refactor: read migrated native flags through a centralized accessor function (#3290)\n\nThis lets Python logic support either Starlark- or native-defined flags,\nbased on Bazel support:\n\n- Pre-Bazel 9.0: always use native flags\n- Bazel 9.0+: use Starlark flags if [incompatible\nchange](https://github.com/bazelbuild/bazel/pull/27056) that disables\n`ctx.fragments.py` and `ctx.fragments.bazel_py` is set\n- Include a developer override to trigger Starlark versions while\ntesting Starlarkification. Developers enable this by updating .bzl code\nin their local workspace. This can be removed as soon as\nStarlarkification is complete\n\nAlso check in a Starlark version of\n`--experimental_python_import_all_repositories` for testing.\n\n**This is a no-op. New flag sources of truth don\u0027t take effect without a\nsupporting bazel version that sets appropriate incompatible flags.**\n\n**Caveats:**\n\n- May not work with `configuration_field` as implemented. We can loosen\nthe incompatible flag lockdown if that\u0027s an issue.\n\nFor https://github.com/bazel-contrib/rules_python/issues/3252\n\nTODO list\n\n* [ ] Add docs to docs/api/rules_python/python/config_settings/index.md\nfor starlarkified flags",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "82a73cee6c8d38d14aa8efa0f9ab9a4b3172136e",
      "old_mode": 33188,
      "old_path": "python/config_settings/BUILD.bazel",
      "new_id": "cc5c472fe7461c23a6f96e54b755d5b6f0b8c55b",
      "new_mode": 33188,
      "new_path": "python/config_settings/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "710402ba68c404187b9968bd84d1feff1035f05d",
      "old_mode": 33188,
      "old_path": "python/private/flags.bzl",
      "new_id": "82ec83294b4cab0f596d1d6e2dbd65c081caeaa3",
      "new_mode": 33188,
      "new_path": "python/private/flags.bzl"
    },
    {
      "type": "modify",
      "old_id": "5993a4f003df33bd417b945fc68e41059ef5e3a2",
      "old_mode": 33188,
      "old_path": "python/private/py_executable.bzl",
      "new_id": "dd0a1a1d6ed9f96bb1a9d5f2f8e7e8b64b1a64df",
      "new_mode": 33188,
      "new_path": "python/private/py_executable.bzl"
    },
    {
      "type": "modify",
      "old_id": "775d53a0b83adb6b7c447f367c5ae3b4135bb78b",
      "old_mode": 33188,
      "old_path": "python/private/py_runtime_pair_rule.bzl",
      "new_id": "61cbdcd6f44131ebef2fbcb7c0facb05f5690e56",
      "new_mode": 33188,
      "new_path": "python/private/py_runtime_pair_rule.bzl"
    }
  ]
}
