)]}'
{
  "commit": "367d09ec01ce5640ee9587398b6a8ce56a7eb0ba",
  "tree": "4fb2a8957a04b59e8449859db94c17dcdee11e52",
  "parents": [
    "a13fcd77cd27bd131e1b4ce227372312614613f2"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "richardlev@gmail.com",
    "time": "Tue May 13 15:31:40 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue May 13 22:31:40 2025 +0000"
  },
  "message": "refactor: make python extension generate platform toolchains (#2875)\n\nThis makes the python bzlmod extension handle generating the\nplatform-specific toolchain\nentries (\"python_3_10_{platform}\"). This is to eventually allow adding\nadditional\ntoolchains that aren\u0027t part of the PLATFORMS mapping in versions.bzl and\nhave\ntheir own custom constraints.\n\nThe main things this refactor does are:\n1. The bzlmod phase passes the full list of implementation toolchains\nto create (previously, it relied on `hub_repo` to generate the\nimplementation\n   names).\n2. The name of a toolchain (the toolchain.name arg) and the repo that\nimplements\nit (the py_toolchain_suite.user_repository_repo arg) are separate. This\nallows\n   future work to mixin toolchains that point to arbitrary repos.\n3. The platform meta data uses a list of target settings instead of dict\nof\nflag values. This allows more arbitrary target settings. For now, flag\nvalues\non the platform metadata is still looked for because it\u0027s known that\nusers\n   patch python/versions.bzl.\n\nAlong the way:\n* Factor out a platform_info helper in versions.bzl\n* Factor out a NOT_ACTUALLY_PUBLIC constants to better denote things\nthat\n  are public visibility, but actually internal.\n* Add some docs to some internals so we don\u0027t have to chase down their\ndefinitions.\n\nWork towards https://github.com/bazel-contrib/rules_python/issues/2081",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f33908049fa1572c02c00613251f0dcf774c0e6d",
      "old_mode": 33188,
      "old_path": "internal_dev_setup.bzl",
      "new_id": "62a11ab1d483692eb9efdfcb0827fb6a57ca8b64",
      "new_mode": 33188,
      "new_path": "internal_dev_setup.bzl"
    },
    {
      "type": "modify",
      "old_id": "1685195b78eb4095b4eb660b8d7e5392979b3618",
      "old_mode": 33188,
      "old_path": "python/private/config_settings.bzl",
      "new_id": "5eb858e2e433efa263cc966f365218af8e9cb6a7",
      "new_mode": 33188,
      "new_path": "python/private/config_settings.bzl"
    },
    {
      "type": "modify",
      "old_id": "46ca903df4aff2970f150f1e81f8117d7aead705",
      "old_mode": 33188,
      "old_path": "python/private/py_repositories.bzl",
      "new_id": "b5bd93b7c1308a9e730d57e5e16bde45fc55a74a",
      "new_mode": 33188,
      "new_path": "python/private/py_repositories.bzl"
    },
    {
      "type": "modify",
      "old_id": "e71882dafdc865e5895bee51f99f082cda7b2615",
      "old_mode": 33188,
      "old_path": "python/private/py_toolchain_suite.bzl",
      "new_id": "fa73d5daa3319a286ec5268648c65069b5f4746e",
      "new_mode": 33188,
      "new_path": "python/private/py_toolchain_suite.bzl"
    },
    {
      "type": "modify",
      "old_id": "f49fb26d521be2e7cfd22bef0f6f252d8c18af3b",
      "old_mode": 33188,
      "old_path": "python/private/python.bzl",
      "new_id": "53cd5e9cd287b20a02fd4a588ff19970a3380cc1",
      "new_mode": 33188,
      "new_path": "python/private/python.bzl"
    },
    {
      "type": "modify",
      "old_id": "b448d53097add5d7ee1517f4d36e9be2278d3cc8",
      "old_mode": 33188,
      "old_path": "python/private/pythons_hub.bzl",
      "new_id": "53351cacb9e093f6ba72992be45634a143dbcda3",
      "new_mode": 33188,
      "new_path": "python/private/pythons_hub.bzl"
    },
    {
      "type": "modify",
      "old_id": "23c4643c0a1b104df190dcec24a8a4874622e5cd",
      "old_mode": 33188,
      "old_path": "python/private/toolchains_repo.bzl",
      "new_id": "d0814b66d5c6772ef550bc877375ef4cc2b8ff7f",
      "new_mode": 33188,
      "new_path": "python/private/toolchains_repo.bzl"
    },
    {
      "type": "modify",
      "old_id": "6343ee49c8bb4cae681da678f2d0c976635e90a8",
      "old_mode": 33188,
      "old_path": "python/versions.bzl",
      "new_id": "4a2a4cb75836911dd45c6c2f33c4b3c5309cfed7",
      "new_mode": 33188,
      "new_path": "python/versions.bzl"
    }
  ]
}
