)]}'
{
  "commit": "19d13bc4b0ec7ee778fcf78fde346b04e7ac2fb1",
  "tree": "b25b81bde122548a15ec1d9f4830097b99c77227",
  "parents": [
    "bc6232f8bc6c7615f833bb6e7bea165a9a18e457"
  ],
  "author": {
    "name": "Karlo Delalic",
    "email": "karlo.delalic1@gmail.com",
    "time": "Sun Nov 08 01:47:45 2026 +0000"
  },
  "committer": {
    "name": "github-actions[bot]",
    "email": "41898282+github-actions[bot]@users.noreply.github.com",
    "time": "Mon Nov 09 22:49:20 2026 +0000"
  },
  "message": "fix(pypi): respect uv.lock dependency platform markers (#4286)\n\nFixes #4287.\n\n`pip.parse` can select Linux-only dependencies on macOS because it\nignores platform conditions on dependency edges in `uv.lock`. For\nexample, `uvloop; sys_platform \u003d\u003d \u0027linux\u0027` incorrectly selects a source\narchive on macOS.\n\nThis change follows dependencies from the workspace roots and keeps each\npackage only on the platforms where it is reachable. It preserves\nsupport for optional extras and development dependency groups.\n\nValidation:\n- All 94 parser and uv-lock tests pass, including regression coverage\nfor platform filtering, extras, and development groups.\n- The real uvloop reproduction now selects only the Linux wheel.\n- Buildifier and `git diff --check` pass.\n\nIncludes updated API documentation and a release note.\n\n---------\n\nCo-authored-by: Richard Levasseur \u003crichardlev@gmail.com\u003e\n(cherry picked from commit 8a3b77ca63e2db53a65aea55e999be3de9101831)\n\nWork towards #4388\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c21f14e2a5f669fb9c739932e8851a154d766218",
      "old_mode": 33188,
      "old_path": "CHANGELOG.md",
      "new_id": "77de5a9e26c8caf14f2d1b4de60e5847ce72347d",
      "new_mode": 33188,
      "new_path": "CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "bcfe44ca3415e23dc379a6c7bfea5446cce870a7",
      "old_mode": 33188,
      "old_path": "python/private/pypi/extension.bzl",
      "new_id": "84dad731c78e3d8ba04446ffd29a8e8644b5607b",
      "new_mode": 33188,
      "new_path": "python/private/pypi/extension.bzl"
    },
    {
      "type": "modify",
      "old_id": "2ac8b3724f5e41b517b43c6e3431b3e6a33b454e",
      "old_mode": 33188,
      "old_path": "python/private/pypi/parse_requirements.bzl",
      "new_id": "9782494caf853570d27d58e74f63d2e9b14c87f2",
      "new_mode": 33188,
      "new_path": "python/private/pypi/parse_requirements.bzl"
    },
    {
      "type": "modify",
      "old_id": "733abe42d42495d2d8aea9284f0ea776e2841fe1",
      "old_mode": 33188,
      "old_path": "tests/pypi/parse_requirements/parse_requirements_tests.bzl",
      "new_id": "148a51aa8675201abe4d5194400f833f326cd4d9",
      "new_mode": 33188,
      "new_path": "tests/pypi/parse_requirements/parse_requirements_tests.bzl"
    }
  ]
}
