)]}'
{
  "commit": "094a25663918d04ed145de09f37cf74cf67d3445",
  "tree": "dfd1a2f66d05df21c482aedf99de8672205d20d3",
  "parents": [
    "ca987735a04c2e20e9341b4ffd24082c99afd152"
  ],
  "author": {
    "name": "Ignas Anikevicius",
    "email": "240938+aignas@users.noreply.github.com",
    "time": "Sun Dec 08 02:20:25 2024 +0900"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sat Dec 07 17:20:25 2024 +0000"
  },
  "message": "feat(pypi): support freethreaded in experimental_index_url (#2460)\n\nWith this we:\n* Fix the previous behaviour where `abi3` wheels would be selected when\n  freethreaded builds are selected. Whilst this may work in practise\n  sometimes, I am not sure it has been supported by reading PEP703.\n* Start selecting `cp313t` wheels when we scan what is available on\nPyPI.\n* Ensure that the `whl_library` repository rule handles `cp313t` wheel\n  extraction.\n* Generate `cp313t` config_settings so that we can use them in\n  `pkg_aliases`.\n* Generate `cp313t` references in `pkg_aliases` macro.\n* Add the 3.13 deps to dev_pip for testing.\n\nAlso tested by manually running:\n```\n$ bazel cquery --//python/config_settings:python_version\u003d3.13 --//python/config_settings:py_freethreaded\u003dyes \u0027kind(\"py_library rule\", deps(@dev_pip//markupsafe))\u0027\nINFO: Analyzed target @@_main~pip~dev_pip//markupsafe:markupsafe (3 packages loaded, 4091 targets configured).\nINFO: Found 1 target...\n@@_main~pip~dev_pip_313_markupsafe_cp313_cp313t_manylinux_2_17_x86_64_c0ef13ea//:pkg (008c5a5)\n$bazel build --//python/config_settings:python_version\u003d3.13 --//python/config_settings:py_freethreaded\u003dyes @dev_pip//markupsafe\n```\n\nFixes #2386",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2ae31730942d372ea8363ce273e2dc661b35b990",
      "old_mode": 33188,
      "old_path": "MODULE.bazel",
      "new_id": "e4b113e785e578bb9da81faeb7f8233bf9d8b696",
      "new_mode": 33188,
      "new_path": "MODULE.bazel"
    },
    {
      "type": "modify",
      "old_id": "aa26e6e669a14e1907a3316b37e1ada764e49f75",
      "old_mode": 33188,
      "old_path": "python/config_settings/BUILD.bazel",
      "new_id": "5455f5aef7acc6151bc2b7cc9be880a73e5bbe0c",
      "new_mode": 33188,
      "new_path": "python/config_settings/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "6f927f2a4c3d4d7d5c1930cf18d05cc3ea5cf4c4",
      "old_mode": 33188,
      "old_path": "python/private/pypi/config_settings.bzl",
      "new_id": "620e50e99788e2ec3e7f65a8634fa0c014755ebb",
      "new_mode": 33188,
      "new_path": "python/private/pypi/config_settings.bzl"
    },
    {
      "type": "modify",
      "old_id": "5a3f84199b58fa9d24b19fc0c9fe926291ee8070",
      "old_mode": 33188,
      "old_path": "python/private/pypi/pkg_aliases.bzl",
      "new_id": "a6872fdce9733b29030227a84ece07119bcc3756",
      "new_mode": 33188,
      "new_path": "python/private/pypi/pkg_aliases.bzl"
    },
    {
      "type": "modify",
      "old_id": "612ca2cfdfdbb84cce790f29c91e9d7b511e5021",
      "old_mode": 33188,
      "old_path": "python/private/pypi/whl_library.bzl",
      "new_id": "79a58a81f24248abccc7b162755d9c6ccf543219",
      "new_mode": 33188,
      "new_path": "python/private/pypi/whl_library.bzl"
    },
    {
      "type": "modify",
      "old_id": "bdc44c697a12dd411a059515a31ceac45961c6f5",
      "old_mode": 33188,
      "old_path": "python/private/pypi/whl_target_platforms.bzl",
      "new_id": "6823199bee7dbd1a3a489bcbe7450723798f2965",
      "new_mode": 33188,
      "new_path": "python/private/pypi/whl_target_platforms.bzl"
    },
    {
      "type": "modify",
      "old_id": "a77fa5b66b30bb2d3d777ca25ca7c9a0dc0d7d7b",
      "old_mode": 33188,
      "old_path": "tests/pypi/config_settings/config_settings_tests.bzl",
      "new_id": "049556a4c6db17bf684a2af0f1f6540b1b5ba801",
      "new_mode": 33188,
      "new_path": "tests/pypi/config_settings/config_settings_tests.bzl"
    },
    {
      "type": "modify",
      "old_id": "0fa66d05eb1c40f0d92f642e80cbaba0c7be2291",
      "old_mode": 33188,
      "old_path": "tests/pypi/pkg_aliases/pkg_aliases_test.bzl",
      "new_id": "23a0f01db94c9132b831d7b9c0e5bd61ade0b819",
      "new_mode": 33188,
      "new_path": "tests/pypi/pkg_aliases/pkg_aliases_test.bzl"
    },
    {
      "type": "modify",
      "old_id": "2994bd513fa86f58603383d280580416bfd8aed5",
      "old_mode": 33188,
      "old_path": "tests/pypi/whl_target_platforms/select_whl_tests.bzl",
      "new_id": "8ab24138d1728f962e78bc716cf5dfb62fcd2031",
      "new_mode": 33188,
      "new_path": "tests/pypi/whl_target_platforms/select_whl_tests.bzl"
    }
  ]
}
