)]}'
{
  "commit": "a7b752af57cc844a957bb6d6aaafba4eeaae0d38",
  "tree": "d17dbc0f22acbd1bb4e3ce47c850b1cdfbe3e13b",
  "parents": [
    "5f18615fd6730bb0f99a1c5dbeee743fd95f730d"
  ],
  "author": {
    "name": "yuzelin",
    "email": "33053040+yuzelin@users.noreply.github.com",
    "time": "Wed Oct 09 10:45:54 2024 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Oct 09 10:45:54 2024 +0800"
  },
  "message": "Refactoring module structure and building (#15)\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1e85b1b625f993bd6446f4c9ba0557f07c4ff366",
      "old_mode": 33188,
      "old_path": ".github/workflows/paimon-python-checks.yml",
      "new_id": "e94820b1a8bc75a76afb5ba12982b2877346c13f",
      "new_mode": 33188,
      "new_path": ".github/workflows/paimon-python-checks.yml"
    },
    {
      "type": "modify",
      "old_id": "c84443ac5a3ba15c3a520c7a7f15b19cfe667d96",
      "old_mode": 33188,
      "old_path": ".gitignore",
      "new_id": "08fac185310ee1c5a12cf31153bf041f50163c81",
      "new_mode": 33188,
      "new_path": ".gitignore"
    },
    {
      "type": "modify",
      "old_id": "f60593538c8a1d42655709cab1082cf9dff86aa4",
      "old_mode": 33188,
      "old_path": "README.md",
      "new_id": "cd2d3602ff6756581b762c7c8356cffbac3ddd62",
      "new_mode": 33188,
      "new_path": "README.md"
    },
    {
      "type": "modify",
      "old_id": "e154fadd32b99b34e94ca0bce5090eb9c0c60773",
      "old_mode": 33188,
      "old_path": "paimon_python_api/__init__.py",
      "new_id": "b3842d0b4788265ef0efc20d6a6d738b447e0f35",
      "new_mode": 33188,
      "new_path": "paimon_python_api/__init__.py"
    },
    {
      "type": "modify",
      "old_id": "7fbacc559256ee0636afd05129f817b45383cc62",
      "old_mode": 33188,
      "old_path": "paimon_python_api/catalog.py",
      "new_id": "412e9f0b3995b963a74bcb1c52cc8f5dc5339554",
      "new_mode": 33188,
      "new_path": "paimon_python_api/catalog.py"
    },
    {
      "type": "modify",
      "old_id": "bc4266d58a3ed5728d5ab4002a0e8d5236b59b80",
      "old_mode": 33188,
      "old_path": "paimon_python_api/read_builder.py",
      "new_id": "94ec0737a99729ff28312be0f63967edead340f5",
      "new_mode": 33188,
      "new_path": "paimon_python_api/read_builder.py"
    },
    {
      "type": "modify",
      "old_id": "e1bacd79603cbd5801817951612e88ddc64accf8",
      "old_mode": 33188,
      "old_path": "paimon_python_api/table.py",
      "new_id": "35b81ac2d2f01b71763d20653799eaa81e0e6583",
      "new_mode": 33188,
      "new_path": "paimon_python_api/table.py"
    },
    {
      "type": "modify",
      "old_id": "517b66e04ebe28daa5c66848994f2f504e90bb39",
      "old_mode": 33188,
      "old_path": "paimon_python_api/table_commit.py",
      "new_id": "d76ed6a80273146cfe37064a57386a2bd2a6546b",
      "new_mode": 33188,
      "new_path": "paimon_python_api/table_commit.py"
    },
    {
      "type": "modify",
      "old_id": "47b8aae5ef80e4b7e4e3cb1731e3342578360338",
      "old_mode": 33188,
      "old_path": "paimon_python_api/table_read.py",
      "new_id": "4fa12c102c9274c3aafa8862fcfb24d3c15155cc",
      "new_mode": 33188,
      "new_path": "paimon_python_api/table_read.py"
    },
    {
      "type": "modify",
      "old_id": "8e29c126dbad114777a62070a393c7a26a3e1ceb",
      "old_mode": 33188,
      "old_path": "paimon_python_api/table_scan.py",
      "new_id": "d998462230cd7e2189a9884b177026e6d7832fff",
      "new_mode": 33188,
      "new_path": "paimon_python_api/table_scan.py"
    },
    {
      "type": "modify",
      "old_id": "d0052a1b8246559773a2ce1816c4430af3045b04",
      "old_mode": 33188,
      "old_path": "paimon_python_api/table_write.py",
      "new_id": "167ceeb9c337bb7b1796d128d3c6e1224fbf72f8",
      "new_mode": 33188,
      "new_path": "paimon_python_api/table_write.py"
    },
    {
      "type": "modify",
      "old_id": "b36fdbe21c6005309ddecdf845cea09eb98d1629",
      "old_mode": 33188,
      "old_path": "paimon_python_api/write_builder.py",
      "new_id": "caa23b98257a40b13a74516b632c3dbe4bc06dbc",
      "new_mode": 33188,
      "new_path": "paimon_python_api/write_builder.py"
    },
    {
      "type": "copy",
      "old_id": "65b48d4d79b4e39f57109bc0e22c48a5cd04b3a3",
      "old_mode": 33188,
      "old_path": "java_based_implementation/__init__.py",
      "new_id": "6e97d9ec32393b3beb002d71d43c902b22fc82c3",
      "new_mode": 33188,
      "new_path": "paimon_python_java/__init__.py",
      "score": 68
    },
    {
      "type": "rename",
      "old_id": "60940a5fc588d15b10b9b1bac8ef652636ef1d9d",
      "old_mode": 33188,
      "old_path": "java_based_implementation/gateway_server.py",
      "new_id": "31933e2140dccb63e1047552d444cc45422615c0",
      "new_mode": 33188,
      "new_path": "paimon_python_java/gateway_server.py",
      "score": 74
    },
    {
      "type": "rename",
      "old_id": "64f40b4e3ab5b18245b0f2ffb374861a32a8c792",
      "old_mode": 33188,
      "old_path": "java_based_implementation/java_gateway.py",
      "new_id": "372ae4aa8ff5a10b4a9ada189cfd0148096d8e4b",
      "new_mode": 33188,
      "new_path": "paimon_python_java/java_gateway.py",
      "score": 93
    },
    {
      "type": "rename",
      "old_id": "e5cdfe96e7bb88df7e7f267ec9382516c8169e0c",
      "old_mode": 33188,
      "old_path": "java_based_implementation/paimon-python-java-bridge/copyright.txt",
      "new_id": "e5cdfe96e7bb88df7e7f267ec9382516c8169e0c",
      "new_mode": 33188,
      "new_path": "paimon_python_java/paimon-python-java-bridge/copyright.txt",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "5eb26e1eb584b6b76bc6a7fdb7a31a25d1aad785",
      "old_mode": 33188,
      "old_path": "java_based_implementation/paimon-python-java-bridge/pom.xml",
      "new_id": "7fe58580e7e44a14aafaab50d28f08a3771e30dc",
      "new_mode": 33188,
      "new_path": "paimon_python_java/paimon-python-java-bridge/pom.xml",
      "score": 87
    },
    {
      "type": "rename",
      "old_id": "7ad74c11ec282386e92b08c0c1ee66acb98f116d",
      "old_mode": 33188,
      "old_path": "java_based_implementation/paimon-python-java-bridge/src/main/java/org/apache/paimon/python/BytesWriter.java",
      "new_id": "7ad74c11ec282386e92b08c0c1ee66acb98f116d",
      "new_mode": 33188,
      "new_path": "paimon_python_java/paimon-python-java-bridge/src/main/java/org/apache/paimon/python/BytesWriter.java",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "5254d2f98592a41223ef512ad44a1da5e5b654bc",
      "old_mode": 33188,
      "old_path": "java_based_implementation/paimon-python-java-bridge/src/main/java/org/apache/paimon/python/FileLock.java",
      "new_id": "5254d2f98592a41223ef512ad44a1da5e5b654bc",
      "new_mode": 33188,
      "new_path": "paimon_python_java/paimon-python-java-bridge/src/main/java/org/apache/paimon/python/FileLock.java",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "61d322abf25d3862a6322037b5bb57a17525a7bb",
      "old_mode": 33188,
      "old_path": "java_based_implementation/paimon-python-java-bridge/src/main/java/org/apache/paimon/python/InvocationUtil.java",
      "new_id": "61d322abf25d3862a6322037b5bb57a17525a7bb",
      "new_mode": 33188,
      "new_path": "paimon_python_java/paimon-python-java-bridge/src/main/java/org/apache/paimon/python/InvocationUtil.java",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "83b34069a22e5148ad460f9dc25fdb4720dc0c96",
      "old_mode": 33188,
      "old_path": "java_based_implementation/paimon-python-java-bridge/src/main/java/org/apache/paimon/python/NetUtils.java",
      "new_id": "83b34069a22e5148ad460f9dc25fdb4720dc0c96",
      "new_mode": 33188,
      "new_path": "paimon_python_java/paimon-python-java-bridge/src/main/java/org/apache/paimon/python/NetUtils.java",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "9f1b390a21793f6595b55200f526b136b1f8c650",
      "old_mode": 33188,
      "old_path": "java_based_implementation/paimon-python-java-bridge/src/main/java/org/apache/paimon/python/ParallelBytesReader.java",
      "new_id": "9f1b390a21793f6595b55200f526b136b1f8c650",
      "new_mode": 33188,
      "new_path": "paimon_python_java/paimon-python-java-bridge/src/main/java/org/apache/paimon/python/ParallelBytesReader.java",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "0a28cf22ba203655bd0e653e104bd6493c405803",
      "old_mode": 33188,
      "old_path": "java_based_implementation/paimon-python-java-bridge/src/main/java/org/apache/paimon/python/PythonEnvUtils.java",
      "new_id": "0a28cf22ba203655bd0e653e104bd6493c405803",
      "new_mode": 33188,
      "new_path": "paimon_python_java/paimon-python-java-bridge/src/main/java/org/apache/paimon/python/PythonEnvUtils.java",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "17ca0738207d8275f50dade92617eda62b4ac010",
      "old_mode": 33188,
      "old_path": "java_based_implementation/paimon-python-java-bridge/src/main/java/org/apache/paimon/python/PythonGatewayServer.java",
      "new_id": "17ca0738207d8275f50dade92617eda62b4ac010",
      "new_mode": 33188,
      "new_path": "paimon_python_java/paimon-python-java-bridge/src/main/java/org/apache/paimon/python/PythonGatewayServer.java",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "d4965db3a55ed3e0fba4b9f40b17093e36883033",
      "old_mode": 33188,
      "old_path": "java_based_implementation/paimon-python-java-bridge/src/main/java/org/apache/paimon/python/RecordBytesIterator.java",
      "new_id": "d4965db3a55ed3e0fba4b9f40b17093e36883033",
      "new_mode": 33188,
      "new_path": "paimon_python_java/paimon-python-java-bridge/src/main/java/org/apache/paimon/python/RecordBytesIterator.java",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "d5db52cb03df6b62d68b0f9813d125a2008a7528",
      "old_mode": 33188,
      "old_path": "java_based_implementation/paimon-python-java-bridge/tools/maven/checkstyle.xml",
      "new_id": "d5db52cb03df6b62d68b0f9813d125a2008a7528",
      "new_mode": 33188,
      "new_path": "paimon_python_java/paimon-python-java-bridge/tools/maven/checkstyle.xml",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "42525cd46d83db1ac0cff9d671b8bc4e40cd5e60",
      "old_mode": 33188,
      "old_path": "java_based_implementation/paimon-python-java-bridge/tools/maven/suppressions.xml",
      "new_id": "42525cd46d83db1ac0cff9d671b8bc4e40cd5e60",
      "new_mode": 33188,
      "new_path": "paimon_python_java/paimon-python-java-bridge/tools/maven/suppressions.xml",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "05487f4fcba6e0418d6843a493476300c990ed45",
      "old_mode": 33188,
      "old_path": "java_based_implementation/api_impl.py",
      "new_id": "ee43a1725a74b159116035e9194713c737091c6c",
      "new_mode": 33188,
      "new_path": "paimon_python_java/pypaimon.py",
      "score": 88
    },
    {
      "type": "rename",
      "old_id": "65b48d4d79b4e39f57109bc0e22c48a5cd04b3a3",
      "old_mode": 33188,
      "old_path": "java_based_implementation/tests/__init__.py",
      "new_id": "65b48d4d79b4e39f57109bc0e22c48a5cd04b3a3",
      "new_mode": 33188,
      "new_path": "paimon_python_java/tests/__init__.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "0ea834e6cc60bf81a80eeb6c1a6f3fc19fa08dc3",
      "old_mode": 33188,
      "old_path": "java_based_implementation/tests/test_write_and_read.py",
      "new_id": "19c9ea8bee6a6868e5b20ef4785627924d9fd82c",
      "new_mode": 33188,
      "new_path": "paimon_python_java/tests/test_write_and_read.py",
      "score": 95
    },
    {
      "type": "rename",
      "old_id": "e709e0a73fd86471cabcdadbe4514345bf5fde7b",
      "old_mode": 33188,
      "old_path": "java_based_implementation/tests/utils.py",
      "new_id": "e0a79d56eca779d3c0cb23b188fc15a6f7a4cdfd",
      "new_mode": 33188,
      "new_path": "paimon_python_java/tests/utils.py",
      "score": 88
    },
    {
      "type": "rename",
      "old_id": "65b48d4d79b4e39f57109bc0e22c48a5cd04b3a3",
      "old_mode": 33188,
      "old_path": "java_based_implementation/util/__init__.py",
      "new_id": "65b48d4d79b4e39f57109bc0e22c48a5cd04b3a3",
      "new_mode": 33188,
      "new_path": "paimon_python_java/util/__init__.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "7e8923a850dbb51c8377017672b1eb3051fb70c9",
      "old_mode": 33188,
      "old_path": "java_based_implementation/util/constants.py",
      "new_id": "00f419ccc3c9e5f0527751fb2224800a03a8b3cf",
      "new_mode": 33188,
      "new_path": "paimon_python_java/util/constants.py",
      "score": 96
    },
    {
      "type": "rename",
      "old_id": "453d28ba9e32a29bffbc44f78126af80a2d4f16d",
      "old_mode": 33188,
      "old_path": "java_based_implementation/util/exceptions.py",
      "new_id": "453d28ba9e32a29bffbc44f78126af80a2d4f16d",
      "new_mode": 33188,
      "new_path": "paimon_python_java/util/exceptions.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "1f0d1ecf2c6ac380185d10e4849626678b95f515",
      "old_mode": 33188,
      "old_path": "java_based_implementation/util/java_utils.py",
      "new_id": "6ce6ede65015c903c2f1c9e18c86cd0e691627c0",
      "new_mode": 33188,
      "new_path": "paimon_python_java/util/java_utils.py",
      "score": 95
    },
    {
      "type": "modify",
      "old_id": "de23c218b35ef0e1163d05d5b0975e8c71692e0e",
      "old_mode": 33188,
      "old_path": "setup.py",
      "new_id": "2795cad2fbfbbc4fb95aef3bd02b964303655228",
      "new_mode": 33188,
      "new_path": "setup.py"
    },
    {
      "type": "rename",
      "old_id": "65b48d4d79b4e39f57109bc0e22c48a5cd04b3a3",
      "old_mode": 33188,
      "old_path": "java_based_implementation/__init__.py",
      "new_id": "27dc0acdc757227e163df1626458bafa7068a2f7",
      "new_mode": 33188,
      "new_path": "setup_utils/__init__.py",
      "score": 92
    },
    {
      "type": "rename",
      "old_id": "ec5e367500ce4e252b766ab435e48c09f13d0547",
      "old_mode": 33188,
      "old_path": "java_based_implementation/util/setup_utils.py",
      "new_id": "49e2ea9af552089623b0da886eed3e8aea051b1c",
      "new_mode": 33261,
      "new_path": "setup_utils/java_setuputils.py",
      "score": 70
    },
    {
      "type": "modify",
      "old_id": "562364e81380c068f3be261954269bc2bf3f72b0",
      "old_mode": 33188,
      "old_path": "tox.ini",
      "new_id": "da9b3777c87a2705771aa2c4f2e72fe7f67179d2",
      "new_mode": 33188,
      "new_path": "tox.ini"
    }
  ]
}
