)]}'
{
  "commit": "8ed851015901574d992778b3b3f783f48b5e514b",
  "tree": "ed6bb1233c3873112865a254a4e4d02390999db3",
  "parents": [
    "bc95983d916d3dfd425f398d71564f813f1a5345"
  ],
  "author": {
    "name": "jhance",
    "email": "jhance@users.noreply.github.com",
    "time": "Wed Oct 14 21:47:15 2026 +0900"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Oct 14 13:47:15 2026 +0100"
  },
  "message": "[mypyc] Add internal flag to control python target (#22073)\n\nThe purpose of this is to allow compiling extensions for any supported\npython version from a host running\na potentially different version (or perhaps type of a different build\nvariant; mainly free threading)\n\nThis is not exposed externally because you are required to compile the C\nfrom outside of mypyc itself; therefore I suspect this is currently only\nuseful to those using a monorepo build system (e.g. bazel or buck2) like\nwe do internally.\n\nThis requires passing through the target python which is represented as\na class with version and free threaded fields as well as properties\nrepresenting semantics.\n\n---------\n\nCo-authored-by: Jukka Lehtosalo \u003cjukka.lehtosalo@iki.fi\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "281daaf08b85c085cf4d925a07e750280427651c",
      "old_mode": 33188,
      "old_path": "mypyc/build.py",
      "new_id": "e61c09a463eea0662e2a629bcce83935feacb0ba",
      "new_mode": 33188,
      "new_path": "mypyc/build.py"
    },
    {
      "type": "modify",
      "old_id": "e78b3f343b283d14bd1d05be575cab175dd5177a",
      "old_mode": 33188,
      "old_path": "mypyc/codegen/emit.py",
      "new_id": "c747aa6628f6c9db540a1be59366c6a9e989f733",
      "new_mode": 33188,
      "new_path": "mypyc/codegen/emit.py"
    },
    {
      "type": "modify",
      "old_id": "428187691df6f2e4e8675735f60e10f356c60ffa",
      "old_mode": 33188,
      "old_path": "mypyc/codegen/emitclass.py",
      "new_id": "1756905e6f0e632f584ca97b6e3a787237ff67e7",
      "new_mode": 33188,
      "new_path": "mypyc/codegen/emitclass.py"
    },
    {
      "type": "modify",
      "old_id": "a1864b3acd31ec5a47496279952440f9a444bd6b",
      "old_mode": 33188,
      "old_path": "mypyc/codegen/emitfunc.py",
      "new_id": "215b889a61b500b42c5bfabe619f11e8a21dd3d6",
      "new_mode": 33188,
      "new_path": "mypyc/codegen/emitfunc.py"
    },
    {
      "type": "modify",
      "old_id": "6ebc74a96fb8902d6151af800d0a61669acc936d",
      "old_mode": 33188,
      "old_path": "mypyc/codegen/emitmodule.py",
      "new_id": "518d1a0832687bd75900bbc0e5e5b61e755c4df1",
      "new_mode": 33188,
      "new_path": "mypyc/codegen/emitmodule.py"
    },
    {
      "type": "modify",
      "old_id": "430a65b0aa6862d6bbbbe674b87b36a7f8fbdd60",
      "old_mode": 33188,
      "old_path": "mypyc/common.py",
      "new_id": "e3967af66360e55eaba109a67d1796b92ab57ea5",
      "new_mode": 33188,
      "new_path": "mypyc/common.py"
    },
    {
      "type": "modify",
      "old_id": "febd0764c0837f446a280603c2b5f57bce0fcddf",
      "old_mode": 33188,
      "old_path": "mypyc/ir/ops.py",
      "new_id": "bde6730e88c79d08b8a6e3066f4c965fdf972197",
      "new_mode": 33188,
      "new_path": "mypyc/ir/ops.py"
    },
    {
      "type": "modify",
      "old_id": "afe3d3e9df39b347ea44c9099ac7d47f2db05324",
      "old_mode": 33188,
      "old_path": "mypyc/ir/rtypes.py",
      "new_id": "84b260d33d82cc67c294ed9334166614219a20ca",
      "new_mode": 33188,
      "new_path": "mypyc/ir/rtypes.py"
    },
    {
      "type": "modify",
      "old_id": "57b5e153c77017c512887c329577a5056854f6dd",
      "old_mode": 33188,
      "old_path": "mypyc/irbuild/ast_helpers.py",
      "new_id": "9e1acd95c6790c4ccdc6311cf3e602532e12ff52",
      "new_mode": 33188,
      "new_path": "mypyc/irbuild/ast_helpers.py"
    },
    {
      "type": "modify",
      "old_id": "bc4717497f85bf669816276f861933fe9caf22bb",
      "old_mode": 33188,
      "old_path": "mypyc/irbuild/builder.py",
      "new_id": "a622315e48085e51c1ba6737c750c742d64dd381",
      "new_mode": 33188,
      "new_path": "mypyc/irbuild/builder.py"
    },
    {
      "type": "modify",
      "old_id": "3adda1599a71a7fea4cbf28b87d693847b7f19a6",
      "old_mode": 33188,
      "old_path": "mypyc/irbuild/callable_class.py",
      "new_id": "c0022efa379b32450687b99428dda1691f245341",
      "new_mode": 33188,
      "new_path": "mypyc/irbuild/callable_class.py"
    },
    {
      "type": "modify",
      "old_id": "991a6545f3709dca8552c6c9788cd799d45f8f0b",
      "old_mode": 33188,
      "old_path": "mypyc/irbuild/expression.py",
      "new_id": "7f6ef5a8c6d76de3bd75837cc0b73a211ce9d7d3",
      "new_mode": 33188,
      "new_path": "mypyc/irbuild/expression.py"
    },
    {
      "type": "modify",
      "old_id": "a3c7349993afa44d6a119936b21aa5cb9ed20b03",
      "old_mode": 33188,
      "old_path": "mypyc/irbuild/for_helpers.py",
      "new_id": "74db465183379b30a7a8cc95ad5873a2bc5c4b7b",
      "new_mode": 33188,
      "new_path": "mypyc/irbuild/for_helpers.py"
    },
    {
      "type": "modify",
      "old_id": "61ed6d5a64aa6ee7a00c8311e55418ca69d304bf",
      "old_mode": 33188,
      "old_path": "mypyc/irbuild/ll_builder.py",
      "new_id": "0adf7ff62b8901c0aec91855674561bde8b392e9",
      "new_mode": 33188,
      "new_path": "mypyc/irbuild/ll_builder.py"
    },
    {
      "type": "modify",
      "old_id": "8eb33b2282567c11ec130a4e282cd2ab2def9d60",
      "old_mode": 33188,
      "old_path": "mypyc/options.py",
      "new_id": "a116c549cbf624775d37667fb346e399fb9d8b4e",
      "new_mode": 33188,
      "new_path": "mypyc/options.py"
    },
    {
      "type": "modify",
      "old_id": "8af7e9e71df7e9dcf7a86374ba2c81a7dd73a8c5",
      "old_mode": 33188,
      "old_path": "mypyc/primitives/list_ops.py",
      "new_id": "f5548e88592f1e337602b7c2958247d6286c8504",
      "new_mode": 33188,
      "new_path": "mypyc/primitives/list_ops.py"
    },
    {
      "type": "modify",
      "old_id": "060af0f88020c60643a2e00700141a9921b7d2b5",
      "old_mode": 33188,
      "old_path": "mypyc/primitives/registry.py",
      "new_id": "51b53596f2b75143f4cb3c404861cb210bce8fe3",
      "new_mode": 33188,
      "new_path": "mypyc/primitives/registry.py"
    },
    {
      "type": "modify",
      "old_id": "68e0e2d79f9c028f66fe92e13f00f6b0a67e981d",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-statements.test",
      "new_id": "40168ac6cd20a1b36d4ca9ea6cf681858f5a3261",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-statements.test"
    },
    {
      "type": "modify",
      "old_id": "718eabb89455833d82902fab0d706d73683d36f3",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-vec-i64.test",
      "new_id": "d9f96ea0ef3ea8f089265a7efe78f8eb6a1e4aa4",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-vec-i64.test"
    },
    {
      "type": "modify",
      "old_id": "b2199b2dcb3b275728a15eaac989d1a5ae43a527",
      "old_mode": 33188,
      "old_path": "mypyc/test/test_emit.py",
      "new_id": "987724cf975ba540bf3b244b0a73d27ba7f14150",
      "new_mode": 33188,
      "new_path": "mypyc/test/test_emit.py"
    },
    {
      "type": "modify",
      "old_id": "4e34f35ef464e115491371d1c32c6319bcf361c5",
      "old_mode": 33188,
      "old_path": "mypyc/test/test_emitclass.py",
      "new_id": "a1cd2de3fcc80069f12586d9061717931cec13d6",
      "new_mode": 33188,
      "new_path": "mypyc/test/test_emitclass.py"
    },
    {
      "type": "modify",
      "old_id": "b6e8d1330f6fcd29bb0409803ef07a1e53572307",
      "old_mode": 33188,
      "old_path": "mypyc/test/test_emitfunc.py",
      "new_id": "05c3c4cbd3574fe4f5216fea14a91c2c599d4c97",
      "new_mode": 33188,
      "new_path": "mypyc/test/test_emitfunc.py"
    },
    {
      "type": "modify",
      "old_id": "d842ea1a85eda4dbb122439d56eb6554893fb9a7",
      "old_mode": 33188,
      "old_path": "mypyc/test/test_exceptions.py",
      "new_id": "ac1b577494b5c1c6810452350cd503d8609ebac5",
      "new_mode": 33188,
      "new_path": "mypyc/test/test_exceptions.py"
    },
    {
      "type": "modify",
      "old_id": "1484d47ce95540bac422df8c0de0e9cd7b9a22cb",
      "old_mode": 33188,
      "old_path": "mypyc/test/test_irbuild.py",
      "new_id": "0dc19b62a60fb641e112f68294c537a3e076a014",
      "new_mode": 33188,
      "new_path": "mypyc/test/test_irbuild.py"
    },
    {
      "type": "modify",
      "old_id": "75351cd50e4a71168be7ec3648eb928c7200d353",
      "old_mode": 33188,
      "old_path": "mypyc/test/test_lowering.py",
      "new_id": "3eb4698c687931e3682b4a3af5b8ab43b9f94d13",
      "new_mode": 33188,
      "new_path": "mypyc/test/test_lowering.py"
    },
    {
      "type": "modify",
      "old_id": "c6a40d08e2e675c9ce95700ffffa80fc53aeb083",
      "old_mode": 33188,
      "old_path": "mypyc/test/test_optimizations.py",
      "new_id": "b71071e077ce85b08a299ad7d6b5ad723648de3c",
      "new_mode": 33188,
      "new_path": "mypyc/test/test_optimizations.py"
    },
    {
      "type": "modify",
      "old_id": "896ba14e2e68b52c4456d0760cf701ee191194a2",
      "old_mode": 33188,
      "old_path": "mypyc/test/test_refcount.py",
      "new_id": "7efa861e784fb9d323f075f628f35353f23bf285",
      "new_mode": 33188,
      "new_path": "mypyc/test/test_refcount.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1ac87d0ef77cb4d5cdcd6543bb84fefe03943635",
      "new_mode": 33188,
      "new_path": "mypyc/test/test_target_python.py"
    },
    {
      "type": "modify",
      "old_id": "2d139ace7c8e9fb82afba86c25b63707efabe1f0",
      "old_mode": 33188,
      "old_path": "mypyc/test/testutil.py",
      "new_id": "cf56d769931d5301b8b1126ea61c08e663644582",
      "new_mode": 33188,
      "new_path": "mypyc/test/testutil.py"
    }
  ]
}
