)]}'
{
  "commit": "4d9c2b1ea112964d22e16428262c968470c1c1b4",
  "tree": "75aff99c195968e2d8278807138395d5cfabaf45",
  "parents": [
    "759f5da9ade00f60729eff85915bf173597c4767"
  ],
  "author": {
    "name": "Ignas Anikevicius",
    "email": "240938+aignas@users.noreply.github.com",
    "time": "Sun Dec 07 09:27:34 2025 +0900"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sun Dec 07 00:27:34 2025 +0000"
  },
  "message": "feat(pip.parse): limit the target platforms we parse requirements for (#3441)\n\nUp until now the users can configure which requirements files to be used\nfor specific platforms, however, what they cannot configure is what\ntarget platforms should actually be set up.\n\nThe difference in the problems is:\n1. I want my `bazel build` to work on `osx aarch64` and `linux x86_64`.\n1. I want my `bazel build` to build for `linux x86_64` on `osx aarch64`.\n\nWith the newly introduced `target_platforms` attribute users can finally\nspecify their target platforms. To ensure that this also allows users to\nspecify that they want to support `freethreaded` and `non-freethreaded`\nplatforms at the same time we support `{os}` and `{arch}` templating in\nthe strings.\n\nThis should fix the `genquery` usage pattern breakage when we previously\nenabled `RULES_PYTHON_ENABLE_PIPSTAR\u003d1`.\n\nWork towards #2949\nWork towards #3434\n\n---------\n\nCo-authored-by: Richard Levasseur \u003crichardlev@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9776a7f4c2e520015178030047dbd7aee5b25cb6",
      "old_mode": 33188,
      "old_path": "CHANGELOG.md",
      "new_id": "a41ac201039f7e91865683bf939f4c89e7b545c1",
      "new_mode": 33188,
      "new_path": "CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "be1a8e4d0398e38bfb5cf9b39449fcc04aea23b5",
      "old_mode": 33188,
      "old_path": "python/private/pypi/extension.bzl",
      "new_id": "eaa6c0d4284bd3633f60f57ef9487faa161c50ce",
      "new_mode": 33188,
      "new_path": "python/private/pypi/extension.bzl"
    },
    {
      "type": "modify",
      "old_id": "1378e2f122cad00f287efd4797ba41cb53c380d4",
      "old_mode": 33188,
      "old_path": "python/private/pypi/hub_builder.bzl",
      "new_id": "3a1a3b07feb5898d0bbaa3295334a4b162eb7a9c",
      "new_mode": 33188,
      "new_path": "python/private/pypi/hub_builder.bzl"
    },
    {
      "type": "modify",
      "old_id": "356bd4416e61ce29310fbdcd6b3524bb5e67cf1a",
      "old_mode": 33188,
      "old_path": "python/private/pypi/requirements_files_by_platform.bzl",
      "new_id": "2027b41594ebdbeffbc5bc7b79fb1dc05973c636",
      "new_mode": 33188,
      "new_path": "python/private/pypi/requirements_files_by_platform.bzl"
    },
    {
      "type": "modify",
      "old_id": "21569cf04ebe2948f0e8c9722b6d6061f8ade4d4",
      "old_mode": 33188,
      "old_path": "tests/pypi/extension/pip_parse.bzl",
      "new_id": "edac12e34421aea78b84e6fb497590d2a6fb9916",
      "new_mode": 33188,
      "new_path": "tests/pypi/extension/pip_parse.bzl"
    },
    {
      "type": "modify",
      "old_id": "414ad1250e149886abd954e4b1b4b3626b1beb8b",
      "old_mode": 33188,
      "old_path": "tests/pypi/hub_builder/hub_builder_tests.bzl",
      "new_id": "e267f4ca343b94c32dec72a24dde8161593c5dbe",
      "new_mode": 33188,
      "new_path": "tests/pypi/hub_builder/hub_builder_tests.bzl"
    },
    {
      "type": "modify",
      "old_id": "6688d72ffefbd415306e93e8476158a038c51b14",
      "old_mode": 33188,
      "old_path": "tests/pypi/requirements_files_by_platform/requirements_files_by_platform_tests.bzl",
      "new_id": "d6aaf3ca995f88236d107485e9454345d2b90995",
      "new_mode": 33188,
      "new_path": "tests/pypi/requirements_files_by_platform/requirements_files_by_platform_tests.bzl"
    }
  ]
}
