)]}'
{
  "commit": "3a57e4aa165c617a1d9e1c8874047eb3256d3dbe",
  "tree": "79a36ba73cee47d639218d59892d82c4b2978bb8",
  "parents": [
    "abc3c9f1bd2edb025d5748bae1460e9b9526df4c"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "rlevasseur@google.com",
    "time": "Mon Sep 18 16:41:06 2023 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Sep 18 23:41:06 2023 +0000"
  },
  "message": "internal: copy Starlark rule implementation from Bazel (#1418)\n\nThis is a copy of the Starlark implementation of the Python rules from\nBazel. This code isn\u0027t\nloaded and won\u0027t work as-is. Modifications to make it work will be made\nin\nsubsequent changes. It\u0027s almost pristine; changes are made to satisfy\nthe\nbuildifier check.\n\nWork towards #1069",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7e28ed9d69c9b92f523e68553ddbf91b0f692b34",
      "new_mode": 33188,
      "new_path": "python/private/common/attributes.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f87245d6ff3d0f9c184414909ae7ff5f30efc006",
      "new_mode": 33188,
      "new_path": "python/private/common/attributes_bazel.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "97ed3e3ee6e0f74b73afd25a47d4edb0e6c48305",
      "new_mode": 33188,
      "new_path": "python/private/common/common.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "51b06fb832b617c8d5343055ff39881652d8433a",
      "new_mode": 33188,
      "new_path": "python/private/common/common_bazel.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a9df61bda42a7714ebd66ba7c0ecd783f0c0b486",
      "new_mode": 33188,
      "new_path": "python/private/common/providers.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3a5df737b950ff44b6bac8a19324ba501e7b3fe2",
      "new_mode": 33188,
      "new_path": "python/private/common/py_binary_bazel.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "24e5c6dbe3ee0433759474f136479420ba5cd028",
      "new_mode": 33188,
      "new_path": "python/private/common/py_binary_macro.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9db92b18e5c98267ac7c6f0e85e47a466cd54d22",
      "new_mode": 33188,
      "new_path": "python/private/common/py_executable.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7c7ecb01d1cb4163e186012a2b9ac541b3c17407",
      "new_mode": 33188,
      "new_path": "python/private/common/py_executable_bazel.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "62f974f4b1f07ae1c91c6b9812802243565cd724",
      "new_mode": 33188,
      "new_path": "python/private/common/py_library.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b844b97e9f1670181c80ecac9f07fc947eb96ebd",
      "new_mode": 33188,
      "new_path": "python/private/common/py_library_bazel.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "729c426f15faf4944b796c0c0b1f0276ea30cb10",
      "new_mode": 33188,
      "new_path": "python/private/common/py_library_macro.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6b27bccfcc1feb0d0bafe2661231cef4c53a7643",
      "new_mode": 33188,
      "new_path": "python/private/common/py_runtime_macro.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "22efaa6b77fbae446ce574f3f39906108f1c157f",
      "new_mode": 33188,
      "new_path": "python/private/common/py_runtime_rule.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fde3a5a47d46a74bf298d1f10ae7d0894ae4df86",
      "new_mode": 33188,
      "new_path": "python/private/common/py_test_bazel.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4faede68ad41e9cc3e9d0ae31d7d7e1f1812e5e9",
      "new_mode": 33188,
      "new_path": "python/private/common/py_test_macro.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "487ff303ef9f3374fe0baa41b700e5c4ee38fb56",
      "new_mode": 33188,
      "new_path": "python/private/common/semantics.bzl"
    }
  ]
}
