)]}'
{
  "commit": "e2118b0ac21191bfeecdc97758a87d88ffdda154",
  "tree": "ba45efce4e89668c7642e51f51d7c217737fe7f8",
  "parents": [
    "7cc333439b6426a43cdbca690d9170c9db0d8669"
  ],
  "author": {
    "name": "Jelle Zijlstra",
    "email": "jelle.zijlstra@gmail.com",
    "time": "Tue Aug 25 23:48:54 2026"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Aug 25 23:48:54 2026"
  },
  "message": "gh-149985: Remove future annotations and if TYPE_CHECKING in pyrepl (#149992)\n\n`from __future__ import annotations` is soft-deprecated now that evaluation\nof annotations is always deferred. `if TYPE_CHECKING` can often be replaced\nwith lazy imports.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "17bf5cdc819542ded2f4bb8f50a0fe92854867e0",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/_module_completer.py",
      "new_id": "280a666e0c78f37b3cd75c586cdad56e92ed6f1a",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/_module_completer.py"
    },
    {
      "type": "modify",
      "old_id": "82f5e8650a20728a1632199ca1af6b08d79f2df6",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/_threading_handler.py",
      "new_id": "040c49724d0b54a3e7369355d2b71b774b0094c1",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/_threading_handler.py"
    },
    {
      "type": "modify",
      "old_id": "f520ffd7d8ad11d1fa933db5d1940c6e5217a459",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/base_eventqueue.py",
      "new_id": "e30ca0d26217fb88cdaf4004b45e9f75e0c314a9",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/base_eventqueue.py"
    },
    {
      "type": "modify",
      "old_id": "e79fbfa6bb0b386ee303af69de0ac9c899122338",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/commands.py",
      "new_id": "cf8b1a6c1e4ec4d45b8b0f0563aabbe6c4afd370",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/commands.py"
    },
    {
      "type": "modify",
      "old_id": "7eb3ebac84124b5cafba7b30ebbc769318f392b7",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/completing_reader.py",
      "new_id": "43f5159e20ab6a352c59d16d56a0ffd9936959f6",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/completing_reader.py"
    },
    {
      "type": "modify",
      "old_id": "2a53d5ff581fa2c13f024f1aa2e4a04591a4129c",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/console.py",
      "new_id": "dcf8ff9b083caa377b58092d852ea8e7f19ce10e",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/console.py"
    },
    {
      "type": "modify",
      "old_id": "3cb22fee84b7406f1673c72f0df0742fcabaa9e2",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/content.py",
      "new_id": "2e759072662ba4d4766c2cf07b3359045394e34f",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/content.py"
    },
    {
      "type": "modify",
      "old_id": "8d5bd183f21339805f72054f820b5fcb595e1f5a",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/fancy_termios.py",
      "new_id": "076a38ad06da178cd98f25108de5a6e2c512ab06",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/fancy_termios.py"
    },
    {
      "type": "modify",
      "old_id": "ac4f0afdbc721c3d9eff025c72538bfac9d6e3c8",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/fancycompleter.py",
      "new_id": "9b779d79a7ffcb46f3cb49e5b4121e980248d477",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/fancycompleter.py"
    },
    {
      "type": "modify",
      "old_id": "77cd12e66e03c62c07cdb42ef972b159b010f2dd",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/historical_reader.py",
      "new_id": "e0d315915987651669b21aa4dc43bb9e02428e2d",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/historical_reader.py"
    },
    {
      "type": "modify",
      "old_id": "2d65246c700f274c8a374702e666eda9e4783602",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/input.py",
      "new_id": "56781662b4fda272d445618ae6bfcb9cb5e216c4",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/input.py"
    },
    {
      "type": "modify",
      "old_id": "6d854d1142dd9f10d57139bda50547089e7fb4e5",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/layout.py",
      "new_id": "cff0821cb95f72ba307b77067f498a0baef66469",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/layout.py"
    },
    {
      "type": "modify",
      "old_id": "9375a55b53ce8bcf84757d69982d7616718dd03e",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/mypy.ini",
      "new_id": "2510ee8c2d3f5a1a7db87ddd103cdec1f31385f2",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/mypy.ini"
    },
    {
      "type": "modify",
      "old_id": "92afaa5933a22509883ec49214ee57f2e49d211c",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/pager.py",
      "new_id": "d6f20fe7557e6b31864e9fe9d297771fe26dd911",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/pager.py"
    },
    {
      "type": "modify",
      "old_id": "832e67b534f296941cc939835fb29d66398da77d",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/reader.py",
      "new_id": "b5686409c37cdb888f2b24c60e8e85e45d547cc1",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/reader.py"
    },
    {
      "type": "modify",
      "old_id": "e4370b0d1462eaf4608a56b8632adbed739c68d2",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/readline.py",
      "new_id": "1d00de3683db231b2827cdf0c16339a0968eb944",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/readline.py"
    },
    {
      "type": "modify",
      "old_id": "b835778e366c5391d9ab9ae3ab0e31cddb3c3ddb",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/render.py",
      "new_id": "06703885735e816241d3163c5dc58bb744734e22",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/render.py"
    },
    {
      "type": "modify",
      "old_id": "da557b254e52c48404e900989a69a6be438a0d9d",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/simple_interact.py",
      "new_id": "e6c355388a7c074c96a1f90d98fa1053efdd067a",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/simple_interact.py"
    },
    {
      "type": "modify",
      "old_id": "395867805196a5ce361f16e6a6c77b8c1561af11",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/trace.py",
      "new_id": "1c24ab479fcb6353117d319cb6419fb9a9ce9ab9",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/trace.py"
    },
    {
      "type": "modify",
      "old_id": "8edd1c36a7232d766adeabb16b6f3e61ffe30aa0",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/unix_console.py",
      "new_id": "0749a56d86fa4a6966b5d57d747a7fd388e76ca2",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/unix_console.py"
    },
    {
      "type": "modify",
      "old_id": "8d68f4f66f2980ee4bb8715784c71334eeb0198f",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/utils.py",
      "new_id": "e77001f6a1d10bbecf784f26e2e1b01d80dd2a38",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/utils.py"
    },
    {
      "type": "modify",
      "old_id": "3768a22ad16f7bb44787cb0e97e775a62f35a057",
      "old_mode": 33188,
      "old_path": "Lib/_pyrepl/windows_console.py",
      "new_id": "65eacf90fde685d7879c15dba3b71f6f874bce66",
      "new_mode": 33188,
      "new_path": "Lib/_pyrepl/windows_console.py"
    }
  ]
}
