)]}'
{
  "commit": "e132012693f078d2bcbc359ae9b58a4d6d35b2ad",
  "tree": "a9e06b2b70121e1461044623d9340c701bbf1b90",
  "parents": [
    "4fb634ebb9d07d50fd708d007cbf75d59e8094cc"
  ],
  "author": {
    "name": "Ignas Anikevicius",
    "email": "240938+aignas@users.noreply.github.com",
    "time": "Mon Nov 10 10:34:59 2025 +0900"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Nov 10 01:34:59 2025 +0000"
  },
  "message": "fix(pip): allow for different extras for different target platforms  (#3385)\n\nWith this PR we first evaluate the markers in the requirements\nfiles before going any further to aggregate them and process further.\nThis makes the separation of logic a little bit more clear.\n\nI wanted to do this before I add more tests to after debugging\nthe failures observed when enabling pipstar.\n\nWhilst cleaning up further I realized that I can fix the handling of\npackages where some platforms may end up not needing extras whilst\nothers\ndo. This is achieved by reusing the same code that allows us to have\ndifferent versions per platform.\n\nWork towards #2949\nFixes #3374",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "58d35f268163367ce0069cd46e8a86160a27e3b9",
      "old_mode": 33188,
      "old_path": "python/private/pypi/hub_builder.bzl",
      "new_id": "7cf60ff85f7773373ccbaf8c60c8adede3d35d2d",
      "new_mode": 33188,
      "new_path": "python/private/pypi/hub_builder.bzl"
    },
    {
      "type": "modify",
      "old_id": "acf3b0c6ae0e337d68eeb54c094579df5ac0b40e",
      "old_mode": 33188,
      "old_path": "python/private/pypi/parse_requirements.bzl",
      "new_id": "7d210abbaa89a1ad59ea5df1f80049b0992a87df",
      "new_mode": 33188,
      "new_path": "python/private/pypi/parse_requirements.bzl"
    },
    {
      "type": "modify",
      "old_id": "2b3b5418aaff7a33ef75da57ca633362d87d68ed",
      "old_mode": 33188,
      "old_path": "python/private/pypi/whl_repo_name.bzl",
      "new_id": "29d774c3614a7a0a5f758383ef9a0df2ebc3eb6e",
      "new_mode": 33188,
      "new_path": "python/private/pypi/whl_repo_name.bzl"
    },
    {
      "type": "modify",
      "old_id": "ee6200a70a5d9cac9f3150ebea697b01500bd544",
      "old_mode": 33188,
      "old_path": "tests/pypi/hub_builder/hub_builder_tests.bzl",
      "new_id": "6d061f4d56dab571e9a00287d8a472ec15655432",
      "new_mode": 33188,
      "new_path": "tests/pypi/hub_builder/hub_builder_tests.bzl"
    },
    {
      "type": "modify",
      "old_id": "bd0078bfa4420b20cc36678bb10d81e83e0ca310",
      "old_mode": 33188,
      "old_path": "tests/pypi/parse_requirements/parse_requirements_tests.bzl",
      "new_id": "63755d2eddcfff5bfd92c501ca6b37759e0d73e5",
      "new_mode": 33188,
      "new_path": "tests/pypi/parse_requirements/parse_requirements_tests.bzl"
    }
  ]
}
