)]}'
{
  "commit": "7fc79626b82d0ff3bb57584de2de9d03ddbbb3c4",
  "tree": "953bdb81981c14eb3832dadaa6c2a02c95a3c8b8",
  "parents": [
    "1036a4d02bc7864da98e9caa96238e70695c9d1e"
  ],
  "author": {
    "name": "hunshcn",
    "email": "hunsh.cn@gmail.com",
    "time": "Mon May 20 12:21:52 2024 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon May 20 04:21:52 2024 +0000"
  },
  "message": "feat(gazelle): pure golang helper (#1895)\n\nRemove gazelle plugin\u0027s python deps and make it hermetic. No more\nrelying on the system interpreter.\n\nUse TreeSitter to parse Python code and use\nhttps://github.com/pypi/stdlib-list to determine whether a module is in\nstd lib.\n\nFixes #1825\nFixes #1599\nRelated #1315",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "af97798a2bb10c2cf132b0719d6ccb255237104c",
      "old_mode": 33188,
      "old_path": "CHANGELOG.md",
      "new_id": "63ece30cb15be0af8ccac623bca5226af956336e",
      "new_mode": 33188,
      "new_path": "CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "e00c74a444b60486d13392fd024650e7abb6071c",
      "old_mode": 33188,
      "old_path": "gazelle/BUILD.bazel",
      "new_id": "f74338d4b514debd1cab1fa2b77d33b1dcbf0609",
      "new_mode": 33188,
      "new_path": "gazelle/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "6ae7719d4b452a8e3178416fc51039cf7cac31c0",
      "old_mode": 33188,
      "old_path": "gazelle/MODULE.bazel",
      "new_id": "1829d248b2e34fd6041ab5ec9939269039ac1d19",
      "new_mode": 33188,
      "new_path": "gazelle/MODULE.bazel"
    },
    {
      "type": "modify",
      "old_id": "df2883fd0842802d359e5c048f0e0386430d6b4d",
      "old_mode": 33188,
      "old_path": "gazelle/WORKSPACE",
      "new_id": "d9f0645071ad3aa6f6077fd43e9646cf6dcbf448",
      "new_mode": 33188,
      "new_path": "gazelle/WORKSPACE"
    },
    {
      "type": "modify",
      "old_id": "d9d38810bebc6ea30318fb6648a70c48b5e7b3e7",
      "old_mode": 33188,
      "old_path": "gazelle/deps.bzl",
      "new_id": "f4f4c24fc710e5a3532e318079639f166a61c56d",
      "new_mode": 33188,
      "new_path": "gazelle/deps.bzl"
    },
    {
      "type": "modify",
      "old_id": "b9b79ac7a2ad9688609c9d8e89c686d1ad9e3f55",
      "old_mode": 33188,
      "old_path": "gazelle/go.mod",
      "new_id": "4b65e71d67dcc157c8442aa67aa14ec4ce07e902",
      "new_mode": 33188,
      "new_path": "gazelle/go.mod"
    },
    {
      "type": "modify",
      "old_id": "fcfcb283eca92dbbd13fa4e56d14eddb1fb75515",
      "old_mode": 33188,
      "old_path": "gazelle/go.sum",
      "new_id": "46e0127e8f4168e2244b3c2dedc1ca340cfc2f54",
      "new_mode": 33188,
      "new_path": "gazelle/go.sum"
    },
    {
      "type": "modify",
      "old_id": "4cca8b31dc87b4fd8ef329f948f869922aab67db",
      "old_mode": 33188,
      "old_path": "gazelle/python/BUILD.bazel",
      "new_id": "195c77623d9e7454609f87f57d82a668ec4fcfef",
      "new_mode": 33188,
      "new_path": "gazelle/python/BUILD.bazel"
    },
    {
      "type": "delete",
      "old_id": "9974c66d13fc26173cdf42d526ef34bf003b9620",
      "old_mode": 33188,
      "old_path": "gazelle/python/__main__.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8d339c0c7b50180de1b110db8ab50ea8de403421",
      "new_mode": 33188,
      "new_path": "gazelle/python/extensions.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a2b22c2b8fcb355cdca2578e1eb6fb812315f400",
      "new_mode": 33188,
      "new_path": "gazelle/python/file_parser.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3682cff753131b237bf3a9df243ccb5ff404df3b",
      "new_mode": 33188,
      "new_path": "gazelle/python/file_parser_test.go"
    },
    {
      "type": "modify",
      "old_id": "568ac9225c8ba6781f7913f5f13bffb6bd7e48a0",
      "old_mode": 33188,
      "old_path": "gazelle/python/language.go",
      "new_id": "56eb97b043ff4db760151fd57f4c2ee11ee70104",
      "new_mode": 33188,
      "new_path": "gazelle/python/language.go"
    },
    {
      "type": "delete",
      "old_id": "6d628e91371a9ef34b094348ca80e32c62d5cd61",
      "old_mode": 33188,
      "old_path": "gazelle/python/lifecycle.go",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "ea331bc23a021065a4c1a56859d5b29280a54040",
      "old_mode": 33188,
      "old_path": "gazelle/python/parse.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "6d1fa49547e81ced8fb1f53ae5e4b05398af94d4",
      "old_mode": 33188,
      "old_path": "gazelle/python/parse_test.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "184fad7c14f3b73b38ff1e8dd113e738a685886d",
      "old_mode": 33188,
      "old_path": "gazelle/python/parser.go",
      "new_id": "1b2a90dddf3ccaa7500bdfccd78c25a119db4c41",
      "new_mode": 33188,
      "new_path": "gazelle/python/parser.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "gazelle/python/private/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5de071361cb0d3934044d799e615ffd9988fbb0f",
      "new_mode": 33188,
      "new_path": "gazelle/python/private/extensions.bzl"
    },
    {
      "type": "modify",
      "old_id": "617b3f858e7887a2300525ac92f23e709eb3a741",
      "old_mode": 33188,
      "old_path": "gazelle/python/python_test.go",
      "new_id": "dd8c2411f19c90e4e6ec1cf5a432bb3f69760d98",
      "new_mode": 33188,
      "new_path": "gazelle/python/python_test.go"
    },
    {
      "type": "modify",
      "old_id": "f019a64c1a6e72695f19f26b32b6378a647e7ecf",
      "old_mode": 33188,
      "old_path": "gazelle/python/resolve.go",
      "new_id": "ca306c3db8854ea8f19c1bd37817d976227362ce",
      "new_mode": 33188,
      "new_path": "gazelle/python/resolve.go"
    },
    {
      "type": "modify",
      "old_id": "8a016afed6fdc4de55a217a46e591095fcbcd0f9",
      "old_mode": 33188,
      "old_path": "gazelle/python/std_modules.go",
      "new_id": "e10f87b6eaaa713e9f06007abe6cdb6689d0f01e",
      "new_mode": 33188,
      "new_path": "gazelle/python/std_modules.go"
    },
    {
      "type": "delete",
      "old_id": "779a325508069cef475350791e7943ed6c5015d1",
      "old_mode": 33188,
      "old_path": "gazelle/python/std_modules.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bc22638e69fcafa916182048ee07408c72f879f7",
      "new_mode": 33188,
      "new_path": "gazelle/python/std_modules_test.go"
    }
  ]
}
