)]}'
{
  "commit": "5a8f6c4acd4190421e58f5ecc6f099f1ce406cb8",
  "tree": "b6a806886983dab515a842cba55dd04ec1a89ac2",
  "parents": [
    "8f517315d807ffd8a7ba330f1ed5e3065e18bc36"
  ],
  "author": {
    "name": "Chris Chua",
    "email": "chris.sirhc@gmail.com",
    "time": "Wed Mar 12 20:09:52 2025 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Mar 12 12:09:52 2025 +0000"
  },
  "message": "feat(pypi): support direct urls for wheels in bazel downloader (#2655)\n\nThis PR adds support for installing wheels via direct urls in the\nrequirements lock file:\n```\nfoo\u003d\u003d0.0.1 @ https://someurl.org/package.whl\nbar\u003d\u003d0.0.1 @ https://someurl.org/package.tar.gz\n```\nThis is to improve parity between bazel downloader and pip behavior.\nBefore this change, direct urls used fallback to pip install.\n\nPartially addresses #2363 as it does not add support for git urls.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "403dbafadec90030f86cb35f153b2969ead7b4a4",
      "old_mode": 33188,
      "old_path": "CHANGELOG.md",
      "new_id": "9029794ffc067601d8e4ff8bc604428ee76fe75a",
      "new_mode": 33188,
      "new_path": "CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "8b3c300946f508811bea5d68239952abaa0890b4",
      "old_mode": 33188,
      "old_path": "python/private/pypi/index_sources.bzl",
      "new_id": "e3762d2a489d3cff1f797f47d0bdba130392e72f",
      "new_mode": 33188,
      "new_path": "python/private/pypi/index_sources.bzl"
    },
    {
      "type": "modify",
      "old_id": "2bca8d8621ea1bd3c66513c2f9251ab0f31c5469",
      "old_mode": 33188,
      "old_path": "python/private/pypi/parse_requirements.bzl",
      "new_id": "dbff44ecb333742b3c441956b2fa8b3f89bf6b41",
      "new_mode": 33188,
      "new_path": "python/private/pypi/parse_requirements.bzl"
    },
    {
      "type": "modify",
      "old_id": "440957e2f01478538ac98de8fa5db26444421b5d",
      "old_mode": 33188,
      "old_path": "tests/pypi/index_sources/index_sources_tests.bzl",
      "new_id": "ffeed87a7b7e2b25d0643d94d189f93fb90442de",
      "new_mode": 33188,
      "new_path": "tests/pypi/index_sources/index_sources_tests.bzl"
    },
    {
      "type": "modify",
      "old_id": "77e22b825aef642f20a2cdbbf15fc3bb0f196c5a",
      "old_mode": 33188,
      "old_path": "tests/pypi/parse_requirements/parse_requirements_tests.bzl",
      "new_id": "8edc2689bf4eb823f3bcdab66552a1e70bb45d26",
      "new_mode": 33188,
      "new_path": "tests/pypi/parse_requirements/parse_requirements_tests.bzl"
    }
  ]
}
