ipython 9.12.0__tar.gz → 9.13.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. {ipython-9.12.0 → ipython-9.13.0}/IPython/__init__.py +2 -3
  2. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/completer.py +5 -1
  3. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/debugger.py +3 -3
  4. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/guarded_eval.py +4 -1
  5. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/inputtransformer2.py +25 -2
  6. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/interactiveshell.py +2 -1
  7. ipython-9.13.0/IPython/core/kitty.py +73 -0
  8. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/release.py +1 -1
  9. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/tips.py +6 -0
  10. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/ultratb.py +9 -3
  11. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/interactiveshell.py +10 -1
  12. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/PyColorize.py +5 -0
  13. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/_sysinfo.py +1 -1
  14. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/capture.py +6 -1
  15. {ipython-9.12.0/ipython.egg-info → ipython-9.13.0}/PKG-INFO +4 -2
  16. {ipython-9.12.0 → ipython-9.13.0}/README.rst +4 -1
  17. {ipython-9.12.0 → ipython-9.13.0}/docs/source/config/details.rst +2 -1
  18. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/version9.rst +113 -54
  19. {ipython-9.12.0 → ipython-9.13.0/ipython.egg-info}/PKG-INFO +4 -2
  20. {ipython-9.12.0 → ipython-9.13.0}/ipython.egg-info/SOURCES.txt +1 -0
  21. {ipython-9.12.0 → ipython-9.13.0}/ipython.egg-info/requires.txt +4 -0
  22. {ipython-9.12.0 → ipython-9.13.0}/pyproject.toml +8 -2
  23. {ipython-9.12.0 → ipython-9.13.0}/setup.py +34 -0
  24. {ipython-9.12.0 → ipython-9.13.0}/tests/test_capture.py +11 -1
  25. {ipython-9.12.0 → ipython-9.13.0}/tests/test_guarded_eval.py +4 -1
  26. {ipython-9.12.0 → ipython-9.13.0}/tests/test_zzz_autoreload.py +2 -0
  27. {ipython-9.12.0 → ipython-9.13.0}/.flake8 +0 -0
  28. {ipython-9.12.0 → ipython-9.13.0}/.mailmap +0 -0
  29. {ipython-9.12.0 → ipython-9.13.0}/.pre-commit-config.yaml +0 -0
  30. {ipython-9.12.0 → ipython-9.13.0}/COPYING.rst +0 -0
  31. {ipython-9.12.0 → ipython-9.13.0}/IPython/__main__.py +0 -0
  32. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/__init__.py +0 -0
  33. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/alias.py +0 -0
  34. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/application.py +0 -0
  35. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/async_helpers.py +0 -0
  36. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/autocall.py +0 -0
  37. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/builtin_trap.py +0 -0
  38. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/compilerop.py +0 -0
  39. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/completerlib.py +0 -0
  40. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/crashhandler.py +0 -0
  41. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/debugger_backport.py +0 -0
  42. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/display.py +0 -0
  43. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/display_functions.py +0 -0
  44. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/display_trap.py +0 -0
  45. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/displayhook.py +0 -0
  46. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/displaypub.py +0 -0
  47. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/doctb.py +0 -0
  48. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/error.py +0 -0
  49. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/events.py +0 -0
  50. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/extensions.py +0 -0
  51. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/formatters.py +0 -0
  52. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/getipython.py +0 -0
  53. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/history.py +0 -0
  54. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/historyapp.py +0 -0
  55. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/hooks.py +0 -0
  56. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/latex_symbols.py +0 -0
  57. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/logger.py +0 -0
  58. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/macro.py +0 -0
  59. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/magic.py +0 -0
  60. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/magic_arguments.py +0 -0
  61. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/magics/__init__.py +0 -0
  62. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/magics/ast_mod.py +0 -0
  63. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/magics/auto.py +0 -0
  64. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/magics/basic.py +0 -0
  65. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/magics/code.py +0 -0
  66. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/magics/config.py +0 -0
  67. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/magics/display.py +0 -0
  68. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/magics/execution.py +0 -0
  69. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/magics/extension.py +0 -0
  70. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/magics/history.py +0 -0
  71. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/magics/logging.py +0 -0
  72. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/magics/namespace.py +0 -0
  73. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/magics/osm.py +0 -0
  74. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/magics/packaging.py +0 -0
  75. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/magics/pylab.py +0 -0
  76. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/magics/script.py +0 -0
  77. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/oinspect.py +0 -0
  78. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/page.py +0 -0
  79. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/payload.py +0 -0
  80. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/payloadpage.py +0 -0
  81. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/prefilter.py +0 -0
  82. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/profile/README_STARTUP +0 -0
  83. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/profileapp.py +0 -0
  84. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/profiledir.py +0 -0
  85. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/pylabtools.py +0 -0
  86. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/shellapp.py +0 -0
  87. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/splitinput.py +0 -0
  88. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/tbtools.py +0 -0
  89. {ipython-9.12.0 → ipython-9.13.0}/IPython/core/usage.py +0 -0
  90. {ipython-9.12.0 → ipython-9.13.0}/IPython/display.py +0 -0
  91. {ipython-9.12.0 → ipython-9.13.0}/IPython/extensions/__init__.py +0 -0
  92. {ipython-9.12.0 → ipython-9.13.0}/IPython/extensions/autoreload.py +0 -0
  93. {ipython-9.12.0 → ipython-9.13.0}/IPython/extensions/deduperreload/__init__.py +0 -0
  94. {ipython-9.12.0 → ipython-9.13.0}/IPython/extensions/deduperreload/deduperreload.py +0 -0
  95. {ipython-9.12.0 → ipython-9.13.0}/IPython/extensions/deduperreload/deduperreload_patching.py +0 -0
  96. {ipython-9.12.0 → ipython-9.13.0}/IPython/extensions/storemagic.py +0 -0
  97. {ipython-9.12.0 → ipython-9.13.0}/IPython/extensions/tests/test_deduperreload.py +0 -0
  98. {ipython-9.12.0 → ipython-9.13.0}/IPython/external/__init__.py +0 -0
  99. {ipython-9.12.0 → ipython-9.13.0}/IPython/external/pickleshare.py +0 -0
  100. {ipython-9.12.0 → ipython-9.13.0}/IPython/external/qt_for_kernel.py +0 -0
  101. {ipython-9.12.0 → ipython-9.13.0}/IPython/external/qt_loaders.py +0 -0
  102. {ipython-9.12.0 → ipython-9.13.0}/IPython/lib/__init__.py +0 -0
  103. {ipython-9.12.0 → ipython-9.13.0}/IPython/lib/backgroundjobs.py +0 -0
  104. {ipython-9.12.0 → ipython-9.13.0}/IPython/lib/clipboard.py +0 -0
  105. {ipython-9.12.0 → ipython-9.13.0}/IPython/lib/deepreload.py +0 -0
  106. {ipython-9.12.0 → ipython-9.13.0}/IPython/lib/demo.py +0 -0
  107. {ipython-9.12.0 → ipython-9.13.0}/IPython/lib/display.py +0 -0
  108. {ipython-9.12.0 → ipython-9.13.0}/IPython/lib/editorhooks.py +0 -0
  109. {ipython-9.12.0 → ipython-9.13.0}/IPython/lib/guisupport.py +0 -0
  110. {ipython-9.12.0 → ipython-9.13.0}/IPython/lib/latextools.py +0 -0
  111. {ipython-9.12.0 → ipython-9.13.0}/IPython/lib/lexers.py +0 -0
  112. {ipython-9.12.0 → ipython-9.13.0}/IPython/lib/pretty.py +0 -0
  113. {ipython-9.12.0 → ipython-9.13.0}/IPython/paths.py +0 -0
  114. {ipython-9.12.0 → ipython-9.13.0}/IPython/py.typed +0 -0
  115. {ipython-9.12.0 → ipython-9.13.0}/IPython/sphinxext/__init__.py +0 -0
  116. {ipython-9.12.0 → ipython-9.13.0}/IPython/sphinxext/custom_doctests.py +0 -0
  117. {ipython-9.12.0 → ipython-9.13.0}/IPython/sphinxext/ipython_console_highlighting.py +0 -0
  118. {ipython-9.12.0 → ipython-9.13.0}/IPython/sphinxext/ipython_directive.py +0 -0
  119. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/__init__.py +0 -0
  120. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/debugger.py +0 -0
  121. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/embed.py +0 -0
  122. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/ipapp.py +0 -0
  123. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/magics.py +0 -0
  124. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/prompts.py +0 -0
  125. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/pt_inputhooks/__init__.py +0 -0
  126. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/pt_inputhooks/asyncio.py +0 -0
  127. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/pt_inputhooks/glut.py +0 -0
  128. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/pt_inputhooks/gtk.py +0 -0
  129. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/pt_inputhooks/gtk3.py +0 -0
  130. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/pt_inputhooks/gtk4.py +0 -0
  131. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/pt_inputhooks/osx.py +0 -0
  132. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/pt_inputhooks/pyglet.py +0 -0
  133. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/pt_inputhooks/qt.py +0 -0
  134. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/pt_inputhooks/tk.py +0 -0
  135. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/pt_inputhooks/wx.py +0 -0
  136. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/ptutils.py +0 -0
  137. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/shortcuts/__init__.py +0 -0
  138. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/shortcuts/auto_match.py +0 -0
  139. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/shortcuts/auto_suggest.py +0 -0
  140. {ipython-9.12.0 → ipython-9.13.0}/IPython/terminal/shortcuts/filters.py +0 -0
  141. {ipython-9.12.0 → ipython-9.13.0}/IPython/testing/__init__.py +0 -0
  142. {ipython-9.12.0 → ipython-9.13.0}/IPython/testing/decorators.py +0 -0
  143. {ipython-9.12.0 → ipython-9.13.0}/IPython/testing/globalipapp.py +0 -0
  144. {ipython-9.12.0 → ipython-9.13.0}/IPython/testing/ipunittest.py +0 -0
  145. {ipython-9.12.0 → ipython-9.13.0}/IPython/testing/plugin/Makefile +0 -0
  146. {ipython-9.12.0 → ipython-9.13.0}/IPython/testing/plugin/__init__.py +0 -0
  147. {ipython-9.12.0 → ipython-9.13.0}/IPython/testing/plugin/dtexample.py +0 -0
  148. {ipython-9.12.0 → ipython-9.13.0}/IPython/testing/plugin/ipdoctest.py +0 -0
  149. {ipython-9.12.0 → ipython-9.13.0}/IPython/testing/plugin/pytest_ipdoctest.py +0 -0
  150. {ipython-9.12.0 → ipython-9.13.0}/IPython/testing/plugin/setup.py +0 -0
  151. {ipython-9.12.0 → ipython-9.13.0}/IPython/testing/plugin/simple.py +0 -0
  152. {ipython-9.12.0 → ipython-9.13.0}/IPython/testing/plugin/simplevars.py +0 -0
  153. {ipython-9.12.0 → ipython-9.13.0}/IPython/testing/plugin/test_combo.txt +0 -0
  154. {ipython-9.12.0 → ipython-9.13.0}/IPython/testing/plugin/test_example.txt +0 -0
  155. {ipython-9.12.0 → ipython-9.13.0}/IPython/testing/plugin/test_exampleip.txt +0 -0
  156. {ipython-9.12.0 → ipython-9.13.0}/IPython/testing/plugin/test_ipdoctest.py +0 -0
  157. {ipython-9.12.0 → ipython-9.13.0}/IPython/testing/plugin/test_refs.py +0 -0
  158. {ipython-9.12.0 → ipython-9.13.0}/IPython/testing/skipdoctest.py +0 -0
  159. {ipython-9.12.0 → ipython-9.13.0}/IPython/testing/tools.py +0 -0
  160. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/__init__.py +0 -0
  161. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/_process_cli.py +0 -0
  162. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/_process_common.py +0 -0
  163. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/_process_emscripten.py +0 -0
  164. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/_process_posix.py +0 -0
  165. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/_process_win32.py +0 -0
  166. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/_process_win32_controller.py +0 -0
  167. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/coloransi.py +0 -0
  168. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/contexts.py +0 -0
  169. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/data.py +0 -0
  170. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/decorators.py +0 -0
  171. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/dir2.py +0 -0
  172. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/docs.py +0 -0
  173. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/encoding.py +0 -0
  174. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/eventful.py +0 -0
  175. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/frame.py +0 -0
  176. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/generics.py +0 -0
  177. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/importstring.py +0 -0
  178. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/io.py +0 -0
  179. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/ipstruct.py +0 -0
  180. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/jsonutil.py +0 -0
  181. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/log.py +0 -0
  182. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/module_paths.py +0 -0
  183. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/openpy.py +0 -0
  184. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/path.py +0 -0
  185. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/process.py +0 -0
  186. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/py3compat.py +0 -0
  187. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/sentinel.py +0 -0
  188. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/strdispatch.py +0 -0
  189. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/sysinfo.py +0 -0
  190. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/syspathcontext.py +0 -0
  191. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/tempdir.py +0 -0
  192. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/terminal.py +0 -0
  193. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/text.py +0 -0
  194. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/timing.py +0 -0
  195. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/tokenutil.py +0 -0
  196. {ipython-9.12.0 → ipython-9.13.0}/IPython/utils/wildcard.py +0 -0
  197. {ipython-9.12.0 → ipython-9.13.0}/LICENSE +0 -0
  198. {ipython-9.12.0 → ipython-9.13.0}/MANIFEST.in +0 -0
  199. {ipython-9.12.0 → ipython-9.13.0}/_build_meta.py +0 -0
  200. {ipython-9.12.0 → ipython-9.13.0}/docs/Makefile +0 -0
  201. {ipython-9.12.0 → ipython-9.13.0}/docs/README.rst +0 -0
  202. {ipython-9.12.0 → ipython-9.13.0}/docs/autogen_api.py +0 -0
  203. {ipython-9.12.0 → ipython-9.13.0}/docs/autogen_config.py +0 -0
  204. {ipython-9.12.0 → ipython-9.13.0}/docs/autogen_magics.py +0 -0
  205. {ipython-9.12.0 → ipython-9.13.0}/docs/autogen_shortcuts.py +0 -0
  206. {ipython-9.12.0 → ipython-9.13.0}/docs/make.cmd +0 -0
  207. {ipython-9.12.0 → ipython-9.13.0}/docs/man/ipython.1 +0 -0
  208. {ipython-9.12.0 → ipython-9.13.0}/docs/requirements.txt +0 -0
  209. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/2.0/running-crop.png +0 -0
  210. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/2.0/running.png +0 -0
  211. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/2.0/treeview.png +0 -0
  212. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/2.0/user-interface.png +0 -0
  213. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/2.0/widgets.png +0 -0
  214. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/8.0/auto_suggest_1_prompt_no_text.png +0 -0
  215. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/8.0/auto_suggest_2_print_hello_suggest.png +0 -0
  216. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/8.0/auto_suggest_3_print_hello_suggest.png +0 -0
  217. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/8.0/auto_suggest_4_print_hello.png +0 -0
  218. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/8.0/auto_suggest_d_completions.png +0 -0
  219. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/8.0/auto_suggest_d_phantom.png +0 -0
  220. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/8.0/auto_suggest_def_completions.png +0 -0
  221. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/8.0/auto_suggest_def_phantom.png +0 -0
  222. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/8.0/auto_suggest_match_parens.png +0 -0
  223. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/8.0/auto_suggest_second_prompt.png +0 -0
  224. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/8.0/pathlib_pathlib_everywhere.jpg +0 -0
  225. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/autosuggest.gif +0 -0
  226. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/ipy_013_dashboard.png +0 -0
  227. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/ipy_013_dashboard_cluster.png +0 -0
  228. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/ipy_013_notebook_cythonmagic.png +0 -0
  229. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/ipy_013_notebook_long_out.png +0 -0
  230. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/ipy_013_notebook_octavemagic.png +0 -0
  231. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/ipy_013_notebook_rmagic.png +0 -0
  232. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/ipy_013_notebook_script_cells.png +0 -0
  233. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/ipy_013_notebook_spectrogram.png +0 -0
  234. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/ipy_013_notebook_tooltip.png +0 -0
  235. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/ipy_013_par_tb.png +0 -0
  236. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/ipy_013_qtconsole_baboon.png +0 -0
  237. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/ipy_013_qtconsole_completer.png +0 -0
  238. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/ipython-6-screenshot.png +0 -0
  239. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/jedi_type_inference_60.png +0 -0
  240. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/kernel_selector_screenshot.png +0 -0
  241. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/ms_visual_studio.png +0 -0
  242. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/notebook_specgram.png +0 -0
  243. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/ptshell_features.png +0 -0
  244. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/qtconsole.png +0 -0
  245. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/qtconsole_tabbed.png +0 -0
  246. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_images/unicode_completion.png +0 -0
  247. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_static/favicon.ico +0 -0
  248. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_static/logo.png +0 -0
  249. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_static/theme_overrides.css +0 -0
  250. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_templates/breadcrumbs.html +0 -0
  251. {ipython-9.12.0 → ipython-9.13.0}/docs/source/_templates/notebook_redirect.html +0 -0
  252. {ipython-9.12.0 → ipython-9.13.0}/docs/source/about/history.rst +0 -0
  253. {ipython-9.12.0 → ipython-9.13.0}/docs/source/about/index.rst +0 -0
  254. {ipython-9.12.0 → ipython-9.13.0}/docs/source/about/license_and_copyright.rst +0 -0
  255. {ipython-9.12.0 → ipython-9.13.0}/docs/source/api/index.rst +0 -0
  256. {ipython-9.12.0 → ipython-9.13.0}/docs/source/conf.py +0 -0
  257. {ipython-9.12.0 → ipython-9.13.0}/docs/source/config/callbacks.rst +0 -0
  258. {ipython-9.12.0 → ipython-9.13.0}/docs/source/config/custommagics.rst +0 -0
  259. {ipython-9.12.0 → ipython-9.13.0}/docs/source/config/eventloops.rst +0 -0
  260. {ipython-9.12.0 → ipython-9.13.0}/docs/source/config/extensions/autoreload.rst +0 -0
  261. {ipython-9.12.0 → ipython-9.13.0}/docs/source/config/extensions/index.rst +0 -0
  262. {ipython-9.12.0 → ipython-9.13.0}/docs/source/config/extensions/storemagic.rst +0 -0
  263. {ipython-9.12.0 → ipython-9.13.0}/docs/source/config/index.rst +0 -0
  264. {ipython-9.12.0 → ipython-9.13.0}/docs/source/config/inputtransforms.rst +0 -0
  265. {ipython-9.12.0 → ipython-9.13.0}/docs/source/config/integrating.rst +0 -0
  266. {ipython-9.12.0 → ipython-9.13.0}/docs/source/config/intro.rst +0 -0
  267. {ipython-9.12.0 → ipython-9.13.0}/docs/source/config/options/index.rst +0 -0
  268. {ipython-9.12.0 → ipython-9.13.0}/docs/source/config/shell_mimerenderer.rst +0 -0
  269. {ipython-9.12.0 → ipython-9.13.0}/docs/source/config/shortcuts/index.rst +0 -0
  270. {ipython-9.12.0 → ipython-9.13.0}/docs/source/coredev/index.rst +0 -0
  271. {ipython-9.12.0 → ipython-9.13.0}/docs/source/development/config.rst +0 -0
  272. {ipython-9.12.0 → ipython-9.13.0}/docs/source/development/execution.rst +0 -0
  273. {ipython-9.12.0 → ipython-9.13.0}/docs/source/development/figs/ipy_kernel_and_terminal.png +0 -0
  274. {ipython-9.12.0 → ipython-9.13.0}/docs/source/development/figs/ipy_kernel_and_terminal.svg +0 -0
  275. {ipython-9.12.0 → ipython-9.13.0}/docs/source/development/figs/other_kernels.png +0 -0
  276. {ipython-9.12.0 → ipython-9.13.0}/docs/source/development/figs/other_kernels.svg +0 -0
  277. {ipython-9.12.0 → ipython-9.13.0}/docs/source/development/how_ipython_works.rst +0 -0
  278. {ipython-9.12.0 → ipython-9.13.0}/docs/source/development/index.rst +0 -0
  279. {ipython-9.12.0 → ipython-9.13.0}/docs/source/development/inputhook_app.rst +0 -0
  280. {ipython-9.12.0 → ipython-9.13.0}/docs/source/development/kernels.rst +0 -0
  281. {ipython-9.12.0 → ipython-9.13.0}/docs/source/development/messaging.rst +0 -0
  282. {ipython-9.12.0 → ipython-9.13.0}/docs/source/development/wrapperkernels.rst +0 -0
  283. {ipython-9.12.0 → ipython-9.13.0}/docs/source/index.rst +0 -0
  284. {ipython-9.12.0 → ipython-9.13.0}/docs/source/install/index.rst +0 -0
  285. {ipython-9.12.0 → ipython-9.13.0}/docs/source/install/install.rst +0 -0
  286. {ipython-9.12.0 → ipython-9.13.0}/docs/source/install/kernel_install.rst +0 -0
  287. {ipython-9.12.0 → ipython-9.13.0}/docs/source/interactive/autoawait.rst +0 -0
  288. {ipython-9.12.0 → ipython-9.13.0}/docs/source/interactive/index.rst +0 -0
  289. {ipython-9.12.0 → ipython-9.13.0}/docs/source/interactive/magics.rst +0 -0
  290. {ipython-9.12.0 → ipython-9.13.0}/docs/source/interactive/plotting.rst +0 -0
  291. {ipython-9.12.0 → ipython-9.13.0}/docs/source/interactive/python-ipython-diff.rst +0 -0
  292. {ipython-9.12.0 → ipython-9.13.0}/docs/source/interactive/reference.rst +0 -0
  293. {ipython-9.12.0 → ipython-9.13.0}/docs/source/interactive/shell.rst +0 -0
  294. {ipython-9.12.0 → ipython-9.13.0}/docs/source/interactive/tips.rst +0 -0
  295. {ipython-9.12.0 → ipython-9.13.0}/docs/source/interactive/tutorial.rst +0 -0
  296. {ipython-9.12.0 → ipython-9.13.0}/docs/source/links.txt +0 -0
  297. {ipython-9.12.0 → ipython-9.13.0}/docs/source/overview.rst +0 -0
  298. {ipython-9.12.0 → ipython-9.13.0}/docs/source/parallel/index.rst +0 -0
  299. {ipython-9.12.0 → ipython-9.13.0}/docs/source/sphinx.toml +0 -0
  300. {ipython-9.12.0 → ipython-9.13.0}/docs/source/sphinxext.rst +0 -0
  301. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/development.rst +0 -0
  302. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/github-stats-0.11.rst +0 -0
  303. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/github-stats-0.12.rst +0 -0
  304. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/github-stats-0.13.rst +0 -0
  305. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/github-stats-1.0.rst +0 -0
  306. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/github-stats-2.0.rst +0 -0
  307. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/github-stats-3.rst +0 -0
  308. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/github-stats-4.rst +0 -0
  309. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/github-stats-5.rst +0 -0
  310. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/github-stats-6.rst +0 -0
  311. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/github-stats-7.rst +0 -0
  312. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/github-stats-8.rst +0 -0
  313. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/index.rst +0 -0
  314. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/pr/README.md +0 -0
  315. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/pr/antigravity-feature.rst +0 -0
  316. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/pr/incompat-switching-to-perl.rst +0 -0
  317. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/version0.10.rst +0 -0
  318. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/version0.11.rst +0 -0
  319. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/version0.12.rst +0 -0
  320. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/version0.13.rst +0 -0
  321. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/version0.8.rst +0 -0
  322. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/version0.9.rst +0 -0
  323. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/version1.0.rst +0 -0
  324. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/version2.0.rst +0 -0
  325. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/version3.rst +0 -0
  326. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/version3_widget_migration.rst +0 -0
  327. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/version4.rst +0 -0
  328. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/version5.rst +0 -0
  329. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/version6.rst +0 -0
  330. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/version7.rst +0 -0
  331. {ipython-9.12.0 → ipython-9.13.0}/docs/source/whatsnew/version8.rst +0 -0
  332. {ipython-9.12.0 → ipython-9.13.0}/docs/sphinxext/apigen.py +0 -0
  333. {ipython-9.12.0 → ipython-9.13.0}/docs/sphinxext/configtraits.py +0 -0
  334. {ipython-9.12.0 → ipython-9.13.0}/docs/sphinxext/magics.py +0 -0
  335. {ipython-9.12.0 → ipython-9.13.0}/examples/Embedding/embed_class_long.py +0 -0
  336. {ipython-9.12.0 → ipython-9.13.0}/examples/Embedding/embed_class_short.py +0 -0
  337. {ipython-9.12.0 → ipython-9.13.0}/examples/Embedding/embed_function.py +0 -0
  338. {ipython-9.12.0 → ipython-9.13.0}/examples/Embedding/start_ipython_config.py +0 -0
  339. {ipython-9.12.0 → ipython-9.13.0}/examples/IPython Kernel/example-demo.py +0 -0
  340. {ipython-9.12.0 → ipython-9.13.0}/examples/IPython Kernel/gui/gui-glut.py +0 -0
  341. {ipython-9.12.0 → ipython-9.13.0}/examples/IPython Kernel/gui/gui-gtk4.py +0 -0
  342. {ipython-9.12.0 → ipython-9.13.0}/examples/IPython Kernel/gui/gui-qt.py +0 -0
  343. {ipython-9.12.0 → ipython-9.13.0}/examples/IPython Kernel/ipython-completion.bash +0 -0
  344. {ipython-9.12.0 → ipython-9.13.0}/examples/IPython Kernel/ipython-get-history.py +0 -0
  345. {ipython-9.12.0 → ipython-9.13.0}/examples/IPython Kernel/ipython.desktop +0 -0
  346. {ipython-9.12.0 → ipython-9.13.0}/examples/auto_suggest_llm.py +0 -0
  347. {ipython-9.12.0 → ipython-9.13.0}/examples/utils/cwd_prompt.py +0 -0
  348. {ipython-9.12.0 → ipython-9.13.0}/examples/utils/list_pyfiles.ipy +0 -0
  349. {ipython-9.12.0 → ipython-9.13.0}/examples/utils/list_subdirs.ipy +0 -0
  350. {ipython-9.12.0 → ipython-9.13.0}/ipython.egg-info/dependency_links.txt +0 -0
  351. {ipython-9.12.0 → ipython-9.13.0}/ipython.egg-info/entry_points.txt +0 -0
  352. {ipython-9.12.0 → ipython-9.13.0}/ipython.egg-info/not-zip-safe +0 -0
  353. {ipython-9.12.0 → ipython-9.13.0}/ipython.egg-info/top_level.txt +0 -0
  354. {ipython-9.12.0 → ipython-9.13.0}/long_description.rst +0 -0
  355. {ipython-9.12.0 → ipython-9.13.0}/scripts/ipython.ico +0 -0
  356. {ipython-9.12.0 → ipython-9.13.0}/scripts/ipython_nb.ico +0 -0
  357. {ipython-9.12.0 → ipython-9.13.0}/setup.cfg +0 -0
  358. {ipython-9.12.0 → ipython-9.13.0}/setupbase.py +0 -0
  359. {ipython-9.12.0 → ipython-9.13.0}/tests/2x2.jpg +0 -0
  360. {ipython-9.12.0 → ipython-9.13.0}/tests/2x2.png +0 -0
  361. {ipython-9.12.0 → ipython-9.13.0}/tests/__init__.py +0 -0
  362. {ipython-9.12.0 → ipython-9.13.0}/tests/bad_all.py +0 -0
  363. {ipython-9.12.0 → ipython-9.13.0}/tests/conftest.py +0 -0
  364. {ipython-9.12.0 → ipython-9.13.0}/tests/fake_ext_dir/daft_extension.py +0 -0
  365. {ipython-9.12.0 → ipython-9.13.0}/tests/fake_llm.py +0 -0
  366. {ipython-9.12.0 → ipython-9.13.0}/tests/nonascii.py +0 -0
  367. {ipython-9.12.0 → ipython-9.13.0}/tests/nonascii2.py +0 -0
  368. {ipython-9.12.0 → ipython-9.13.0}/tests/print_argv.py +0 -0
  369. {ipython-9.12.0 → ipython-9.13.0}/tests/refbug.py +0 -0
  370. {ipython-9.12.0 → ipython-9.13.0}/tests/simpleerr.py +0 -0
  371. {ipython-9.12.0 → ipython-9.13.0}/tests/tclass.py +0 -0
  372. {ipython-9.12.0 → ipython-9.13.0}/tests/test.wav +0 -0
  373. {ipython-9.12.0 → ipython-9.13.0}/tests/test_alias.py +0 -0
  374. {ipython-9.12.0 → ipython-9.13.0}/tests/test_application.py +0 -0
  375. {ipython-9.12.0 → ipython-9.13.0}/tests/test_async_helpers.py +0 -0
  376. {ipython-9.12.0 → ipython-9.13.0}/tests/test_autocall.py +0 -0
  377. {ipython-9.12.0 → ipython-9.13.0}/tests/test_backgroundjobs.py +0 -0
  378. {ipython-9.12.0 → ipython-9.13.0}/tests/test_clipboard.py +0 -0
  379. {ipython-9.12.0 → ipython-9.13.0}/tests/test_compilerop.py +0 -0
  380. {ipython-9.12.0 → ipython-9.13.0}/tests/test_completer.py +0 -0
  381. {ipython-9.12.0 → ipython-9.13.0}/tests/test_completerlib.py +0 -0
  382. {ipython-9.12.0 → ipython-9.13.0}/tests/test_cve.py +0 -0
  383. {ipython-9.12.0 → ipython-9.13.0}/tests/test_debug_magic.py +0 -0
  384. {ipython-9.12.0 → ipython-9.13.0}/tests/test_debugger.py +0 -0
  385. {ipython-9.12.0 → ipython-9.13.0}/tests/test_decorators.py +0 -0
  386. {ipython-9.12.0 → ipython-9.13.0}/tests/test_decorators_2.py +0 -0
  387. {ipython-9.12.0 → ipython-9.13.0}/tests/test_deepreload.py +0 -0
  388. {ipython-9.12.0 → ipython-9.13.0}/tests/test_dir2.py +0 -0
  389. {ipython-9.12.0 → ipython-9.13.0}/tests/test_display.py +0 -0
  390. {ipython-9.12.0 → ipython-9.13.0}/tests/test_display_2.py +0 -0
  391. {ipython-9.12.0 → ipython-9.13.0}/tests/test_displayhook.py +0 -0
  392. {ipython-9.12.0 → ipython-9.13.0}/tests/test_editorhooks.py +0 -0
  393. {ipython-9.12.0 → ipython-9.13.0}/tests/test_embed.py +0 -0
  394. {ipython-9.12.0 → ipython-9.13.0}/tests/test_events.py +0 -0
  395. {ipython-9.12.0 → ipython-9.13.0}/tests/test_exceptiongroup_tb.py +0 -0
  396. {ipython-9.12.0 → ipython-9.13.0}/tests/test_extension.py +0 -0
  397. {ipython-9.12.0 → ipython-9.13.0}/tests/test_formatters.py +0 -0
  398. {ipython-9.12.0 → ipython-9.13.0}/tests/test_handlers.py +0 -0
  399. {ipython-9.12.0 → ipython-9.13.0}/tests/test_help.py +0 -0
  400. {ipython-9.12.0 → ipython-9.13.0}/tests/test_history.py +0 -0
  401. {ipython-9.12.0 → ipython-9.13.0}/tests/test_hooks.py +0 -0
  402. {ipython-9.12.0 → ipython-9.13.0}/tests/test_imports.py +0 -0
  403. {ipython-9.12.0 → ipython-9.13.0}/tests/test_importstring.py +0 -0
  404. {ipython-9.12.0 → ipython-9.13.0}/tests/test_inputtransformer2.py +0 -0
  405. {ipython-9.12.0 → ipython-9.13.0}/tests/test_inputtransformer2_line.py +0 -0
  406. {ipython-9.12.0 → ipython-9.13.0}/tests/test_interactiveshell.py +0 -0
  407. {ipython-9.12.0 → ipython-9.13.0}/tests/test_interactivshell.py +0 -0
  408. {ipython-9.12.0 → ipython-9.13.0}/tests/test_io.py +0 -0
  409. {ipython-9.12.0 → ipython-9.13.0}/tests/test_iplib.py +0 -0
  410. {ipython-9.12.0 → ipython-9.13.0}/tests/test_ipunittest.py +0 -0
  411. {ipython-9.12.0 → ipython-9.13.0}/tests/test_latextools.py +0 -0
  412. {ipython-9.12.0 → ipython-9.13.0}/tests/test_logger.py +0 -0
  413. {ipython-9.12.0 → ipython-9.13.0}/tests/test_magic.py +0 -0
  414. {ipython-9.12.0 → ipython-9.13.0}/tests/test_magic_arguments.py +0 -0
  415. {ipython-9.12.0 → ipython-9.13.0}/tests/test_magic_terminal.py +0 -0
  416. {ipython-9.12.0 → ipython-9.13.0}/tests/test_module_paths.py +0 -0
  417. {ipython-9.12.0 → ipython-9.13.0}/tests/test_oinspect.py +0 -0
  418. {ipython-9.12.0 → ipython-9.13.0}/tests/test_openpy.py +0 -0
  419. {ipython-9.12.0 → ipython-9.13.0}/tests/test_page.py +0 -0
  420. {ipython-9.12.0 → ipython-9.13.0}/tests/test_path.py +0 -0
  421. {ipython-9.12.0 → ipython-9.13.0}/tests/test_paths.py +0 -0
  422. {ipython-9.12.0 → ipython-9.13.0}/tests/test_prefilter.py +0 -0
  423. {ipython-9.12.0 → ipython-9.13.0}/tests/test_pretty.py +0 -0
  424. {ipython-9.12.0 → ipython-9.13.0}/tests/test_process.py +0 -0
  425. {ipython-9.12.0 → ipython-9.13.0}/tests/test_profile.py +0 -0
  426. {ipython-9.12.0 → ipython-9.13.0}/tests/test_pt_inputhooks.py +0 -0
  427. {ipython-9.12.0 → ipython-9.13.0}/tests/test_pycolorize.py +0 -0
  428. {ipython-9.12.0 → ipython-9.13.0}/tests/test_pylabtools.py +0 -0
  429. {ipython-9.12.0 → ipython-9.13.0}/tests/test_qt_loaders.py +0 -0
  430. {ipython-9.12.0 → ipython-9.13.0}/tests/test_run.py +0 -0
  431. {ipython-9.12.0 → ipython-9.13.0}/tests/test_shellapp.py +0 -0
  432. {ipython-9.12.0 → ipython-9.13.0}/tests/test_shortcuts.py +0 -0
  433. {ipython-9.12.0 → ipython-9.13.0}/tests/test_splitinput.py +0 -0
  434. {ipython-9.12.0 → ipython-9.13.0}/tests/test_storemagic.py +0 -0
  435. {ipython-9.12.0 → ipython-9.13.0}/tests/test_sysinfo.py +0 -0
  436. {ipython-9.12.0 → ipython-9.13.0}/tests/test_tempdir.py +0 -0
  437. {ipython-9.12.0 → ipython-9.13.0}/tests/test_text.py +0 -0
  438. {ipython-9.12.0 → ipython-9.13.0}/tests/test_tips.py +0 -0
  439. {ipython-9.12.0 → ipython-9.13.0}/tests/test_tokenutil.py +0 -0
  440. {ipython-9.12.0 → ipython-9.13.0}/tests/test_tools.py +0 -0
  441. {ipython-9.12.0 → ipython-9.13.0}/tests/test_ultratb.py +0 -0
  442. {ipython-9.12.0 → ipython-9.13.0}/tests/test_wildcard.py +0 -0
@@ -27,11 +27,10 @@ import warnings
27
27
  #-----------------------------------------------------------------------------
28
28
 
29
29
  # Don't forget to also update setup.py when this changes!
30
- if sys.version_info < (3, 12):
30
+ if sys.version_info < (3, 11):
31
31
  raise ImportError(
32
32
  """
33
- IPython 9.x supports Python 3.12 and above, following SPEC0
34
- IPython 8.31+ supports Python 3.11 and above, following SPEC0
33
+ IPython 9.x supports Python 3.11 and above, following SPEC0
35
34
  IPython 8.19+ supports Python 3.10 and above, following SPEC0.
36
35
  IPython 8.13+ supports Python 3.9 and above, following NEP 29.
37
36
  When using Python 2.7, please install IPython 5.x LTS Long Term Support version.
@@ -243,7 +243,11 @@ import __main__
243
243
 
244
244
  from typing import cast
245
245
 
246
- from typing import TypedDict, NotRequired, Protocol, TypeAlias, TypeGuard
246
+ if sys.version_info < (3, 12):
247
+ from typing_extensions import TypedDict, Protocol
248
+ from typing import NotRequired, TypeAlias, TypeGuard
249
+ else:
250
+ from typing import TypedDict, NotRequired, Protocol, TypeAlias, TypeGuard
247
251
 
248
252
 
249
253
  # skip module docstests
@@ -874,9 +874,9 @@ class Pdb(OldPdb):
874
874
  try:
875
875
  x = eval(arg, {}, {})
876
876
  if type(x) == type(()):
877
- first, last = x
878
- first = int(first)
879
- last = int(last)
877
+ first, last = x # type: ignore[misc]
878
+ first = int(first) # type: ignore[call-overload]
879
+ last = int(last) # type: ignore[call-overload]
880
880
  if last < first:
881
881
  # Assume it's a count
882
882
  last = first + last
@@ -32,7 +32,10 @@ from IPython.utils.decorators import undoc
32
32
  import types
33
33
  from typing import Self, LiteralString, get_type_hints
34
34
 
35
- from typing import TypeAliasType
35
+ if sys.version_info < (3, 12):
36
+ from typing_extensions import TypeAliasType
37
+ else:
38
+ from typing import TypeAliasType
36
39
 
37
40
 
38
41
  @undoc
@@ -356,8 +356,24 @@ class MagicAssign(TokenTransformBase):
356
356
  class SystemAssign(TokenTransformBase):
357
357
  """Transformer for assignments from system commands (a = !foo)"""
358
358
  @classmethod
359
- def find(cls, tokens_by_line):
360
- """Find the first system assignment (a = !foo) in the cell."""
359
+ def find_pre_312(cls, tokens_by_line):
360
+ for line in tokens_by_line:
361
+ assign_ix = _find_assign_op(line)
362
+ if (assign_ix is not None) \
363
+ and not line[assign_ix].line.strip().startswith('=') \
364
+ and (len(line) >= assign_ix + 2) \
365
+ and (line[assign_ix + 1].type == tokenize.ERRORTOKEN):
366
+ ix = assign_ix + 1
367
+
368
+ while ix < len(line) and line[ix].type == tokenize.ERRORTOKEN:
369
+ if line[ix].string == '!':
370
+ return cls(line[ix].start)
371
+ elif not line[ix].string.isspace():
372
+ break
373
+ ix += 1
374
+
375
+ @classmethod
376
+ def find_post_312(cls, tokens_by_line):
361
377
  for line in tokens_by_line:
362
378
  assign_ix = _find_assign_op(line)
363
379
  if (
@@ -369,6 +385,13 @@ class SystemAssign(TokenTransformBase):
369
385
  ):
370
386
  return cls(line[assign_ix + 1].start)
371
387
 
388
+ @classmethod
389
+ def find(cls, tokens_by_line):
390
+ """Find the first system assignment (a = !foo) in the cell."""
391
+ if sys.version_info < (3, 12):
392
+ return cls.find_pre_312(tokens_by_line)
393
+ return cls.find_post_312(tokens_by_line)
394
+
372
395
  def transform(self, lines: List[str]):
373
396
  """Transform a system assignment found by the ``find()`` classmethod.
374
397
  """
@@ -2140,7 +2140,8 @@ class InteractiveShell(SingletonConfigurable):
2140
2140
  sys.last_type = etype
2141
2141
  sys.last_value = value
2142
2142
  sys.last_traceback = tb
2143
- sys.last_exc = value
2143
+ if sys.version_info >= (3, 12):
2144
+ sys.last_exc = value
2144
2145
 
2145
2146
  return etype, value, tb
2146
2147
 
@@ -0,0 +1,73 @@
1
+ # Implements https://sw.kovidgoyal.net/kitty/graphics-protocol/
2
+
3
+ from base64 import b64encode, b64decode
4
+ import sys
5
+ from typing import Union
6
+
7
+ def _supports_kitty_graphics() -> bool:
8
+ import platform
9
+
10
+ if platform.system() not in ("Darwin", "Linux"):
11
+ return False
12
+
13
+ if not sys.stdout.isatty():
14
+ return False
15
+ # Hardcoding process names instead of using
16
+ # https://sw.kovidgoyal.net/kitty/graphics-protocol/#querying-support-and-available-transmission-mediums
17
+ # to avoid startup slowdown
18
+ supported_terminals = {
19
+ "ghostty",
20
+ "iTerm2",
21
+ "kitty",
22
+ "konsole",
23
+ "warp",
24
+ "wayst",
25
+ "wezterm-gui",
26
+ }
27
+ import psutil
28
+
29
+ process = psutil.Process()
30
+ while process := process.parent():
31
+ if process.name() in supported_terminals:
32
+ return True
33
+ return False
34
+
35
+
36
+ supports_kitty_graphics = _supports_kitty_graphics()
37
+
38
+
39
+ def png_to_kitty_ansi(png: bytes) -> str:
40
+ if not png.startswith(b"\x89PNG\r\n\x1a\n"):
41
+ raise ValueError
42
+ # This simplicity resembles
43
+ # https://sw.kovidgoyal.net/kitty/graphics-protocol/#a-minimal-example
44
+ # but if we need tmux support, we can switch to Unicode like
45
+ # https://github.com/hzeller/timg/blob/main/src/kitty-canvas.cc
46
+ result = ["\033_Ga=T,f=100,", "m=1;"]
47
+ encoded = b64encode(png)
48
+ for i in range(0, len(encoded), 4096):
49
+ result.append(encoded[i : i + 4096].decode("ascii"))
50
+ result.append("\033\\")
51
+ result.append("\033_G")
52
+ result.append("m=1;")
53
+ del result[-2:]
54
+ result[-3] = "m=0;"
55
+ return "".join(result)
56
+
57
+
58
+ def kitty_png_render(png: Union[bytes, str], _md_dict: object) -> None:
59
+ if isinstance(png, str):
60
+ png = png_to_kitty_ansi(b64decode(png))
61
+ else:
62
+ png = png_to_kitty_ansi(png)
63
+ print(png)
64
+
65
+
66
+ display_formatter_default_active_types = [
67
+ "text/plain",
68
+ *(["image/png"] if supports_kitty_graphics else []),
69
+ ]
70
+
71
+ terminal_default_mime_renderers = {
72
+ "image/png": kitty_png_render,
73
+ }
@@ -16,7 +16,7 @@
16
16
  # release. 'dev' as a _version_extra string means this is a development
17
17
  # version
18
18
  _version_major = 9
19
- _version_minor = 12
19
+ _version_minor = 13
20
20
  _version_patch = 0
21
21
  _version_extra = ".dev"
22
22
  # _version_extra = "b2"
@@ -1,5 +1,6 @@
1
1
  from datetime import datetime
2
2
  import os
3
+ import sys
3
4
  from random import choice
4
5
  from typing import Any
5
6
 
@@ -107,6 +108,11 @@ else:
107
108
  ]
108
109
  )
109
110
 
111
+ if sys.version_info < (3, 12):
112
+ _tips["random"].append(
113
+ "IPython support for Python versions outside of SPEC-0 is funded by the D.E. Shaw group: https://deshaw.com"
114
+ )
115
+
110
116
  # Check if argcomplete is installed and add tip
111
117
  try:
112
118
  import argcomplete
@@ -817,8 +817,10 @@ class VerboseTB(TBTools):
817
817
  after = context // 2
818
818
  before = context - after
819
819
  if self.has_colors:
820
- base_style = theme_table[self._theme_name].as_pygments_style()
821
- style = stack_data.style_with_executing_node(base_style, self.tb_highlight)
820
+ theme = theme_table[self._theme_name]
821
+ base_style = theme.as_pygments_style()
822
+ tb_highlight = theme.extra_style.get(Token.TbHighlight, self.tb_highlight)
823
+ style = stack_data.style_with_executing_node(base_style, tb_highlight)
822
824
  formatter = Terminal256Formatter(style=style)
823
825
  else:
824
826
  formatter = None
@@ -994,7 +996,11 @@ class VerboseTB(TBTools):
994
996
  self.pdb.botframe = etb.tb_frame
995
997
  # last_value should be deprecated, but last-exc sometimme not set
996
998
  # please check why later and remove the getattr.
997
- exc = getattr(sys, "last_exc", sys.last_value)
999
+ exc = (
1000
+ sys.last_value
1001
+ if sys.version_info < (3, 12)
1002
+ else getattr(sys, "last_exc", sys.last_value)
1003
+ ) # type: ignore[attr-defined]
998
1004
  if exc:
999
1005
  self.pdb.interaction(None, exc)
1000
1006
  else:
@@ -8,6 +8,10 @@ from typing import Union as UnionType, Optional
8
8
 
9
9
  from IPython.core.async_helpers import get_asyncio_loop
10
10
  from IPython.core.interactiveshell import InteractiveShell, InteractiveShellABC
11
+ from IPython.core.kitty import (
12
+ display_formatter_default_active_types,
13
+ terminal_default_mime_renderers,
14
+ )
11
15
  from IPython.utils.py3compat import input
12
16
  from IPython.utils.PyColorize import theme_table
13
17
  from IPython.utils.terminal import toggle_set_term_title, set_term_title, restore_term_title
@@ -771,7 +775,12 @@ class TerminalInteractiveShell(InteractiveShell):
771
775
  "DisplayFormatter" in config
772
776
  and "active_types" in config["DisplayFormatter"]
773
777
  ):
774
- self.display_formatter.active_types = ["text/plain"]
778
+ self.display_formatter.active_types = display_formatter_default_active_types
779
+ if not (
780
+ "TerminalInteractiveShell" in config
781
+ and "mime_renderers" in config["TerminalInteractiveShell"]
782
+ ):
783
+ self.mime_renderers = terminal_default_mime_renderers
775
784
 
776
785
  def init_prompt_toolkit_cli(self):
777
786
  if self.simple_prompt:
@@ -138,6 +138,7 @@ linux_theme = Theme(
138
138
  Token.PromptNum: "ansigreen bold",
139
139
  Token.OutPrompt: "ansibrightred",
140
140
  Token.OutPromptNum: "ansired bold",
141
+ Token.TbHighlight: "ansiblack bg:ansiyellow",
141
142
  },
142
143
  )
143
144
 
@@ -170,6 +171,7 @@ neutral_pygments_equiv = {
170
171
  Token.Name.Variable.Magic: "ansiblue",
171
172
  Token.Prompt: "ansigreen",
172
173
  Token.OutPrompt: "ansired",
174
+ Token.TbHighlight: "ansiblack bg:ansiyellow",
173
175
  }
174
176
 
175
177
 
@@ -227,6 +229,7 @@ lightbg_theme = Theme(
227
229
  Token.PromptNum: "ansiblue bold",
228
230
  Token.OutPrompt: "ansibrightred",
229
231
  Token.OutPromptNum: "ansired bold",
232
+ Token.TbHighlight: "ansired bg:ansiyellow",
230
233
  },
231
234
  )
232
235
 
@@ -268,6 +271,7 @@ pride_theme = Theme(
268
271
  Token.PromptNum: "ansiblue bold",
269
272
  Token.OutPrompt: "ansibrightred",
270
273
  Token.OutPromptNum: "ansired bold",
274
+ Token.TbHighlight: f"bg:{PRIDE_YELLOW}",
271
275
  },
272
276
  symbols={"arrow_body": "\u2500", "arrow_head": "\u25b6", "top_line": "\u2500"},
273
277
  )
@@ -368,6 +372,7 @@ gruvbox_dark_theme = Theme(
368
372
  Token.PromptNum: f"{GRUVBOX_PROMPT_NUM} bold",
369
373
  Token.OutPrompt: GRUVBOX_OUT_PROMPT,
370
374
  Token.OutPromptNum: f"{GRUVBOX_OUT_PROMPT_NUM} bold",
375
+ Token.TbHighlight: f"bg:{GRUVBOX_TOPLINE}",
371
376
  },
372
377
  symbols={"arrow_body": "\u2500", "arrow_head": "\u25b6", "top_line": "\u2500"},
373
378
  )
@@ -1,2 +1,2 @@
1
1
  # GENERATED BY setup.py
2
- commit = "d9c6e31"
2
+ commit = "7c1654d"
@@ -74,7 +74,12 @@ class CapturedIO:
74
74
  above in the same order, and can be invoked simply via ``c()``.
75
75
  """
76
76
 
77
- def __init__(self, stdout: StringIO, stderr: StringIO, outputs: Optional[List[Any]]=None):
77
+ def __init__(
78
+ self,
79
+ stdout: Optional[StringIO],
80
+ stderr: Optional[StringIO],
81
+ outputs: Optional[List[Any]] = None,
82
+ ):
78
83
  self._stdout = stdout
79
84
  self._stderr = stderr
80
85
  if outputs is None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ipython
3
- Version: 9.12.0
3
+ Version: 9.13.0
4
4
  Summary: IPython: Productive Interactive Computing
5
5
  Author: The IPython Development Team
6
6
  Author-email: ipython-dev@python.org
@@ -22,7 +22,7 @@ Classifier: Programming Language :: Python
22
22
  Classifier: Programming Language :: Python :: 3
23
23
  Classifier: Programming Language :: Python :: 3 :: Only
24
24
  Classifier: Topic :: System :: Shells
25
- Requires-Python: >=3.12
25
+ Requires-Python: >=3.11
26
26
  Description-Content-Type: text/x-rst
27
27
  License-File: LICENSE
28
28
  License-File: COPYING.rst
@@ -33,9 +33,11 @@ Requires-Dist: jedi>=0.18.2
33
33
  Requires-Dist: matplotlib-inline>=0.1.6
34
34
  Requires-Dist: pexpect>4.6; sys_platform != "win32" and sys_platform != "emscripten"
35
35
  Requires-Dist: prompt_toolkit<3.1.0,>=3.0.41
36
+ Requires-Dist: psutil>=7
36
37
  Requires-Dist: pygments>=2.14.0
37
38
  Requires-Dist: stack_data>=0.6.0
38
39
  Requires-Dist: traitlets>=5.13.0
40
+ Requires-Dist: typing_extensions>=4.6; python_version < "3.12"
39
41
  Provides-Extra: black
40
42
  Requires-Dist: black; extra == "black"
41
43
  Provides-Extra: doc
@@ -31,7 +31,10 @@ IPython (Interactive Python) is a command shell for interactive computing in mul
31
31
 
32
32
  **Python Support**
33
33
 
34
- Starting after IPython 8.16, we progressively transition to `Spec-0000 <https://scientific-python.org/specs/spec-0000/>`_.
34
+ Starting after IPython 8.16, we follow `SPEC-0 <https://scientific-python.org/specs/spec-0000/>`_
35
+ for determining the minimum supported Python version. Python 3.11 support is
36
+ additionally maintained thanks to funding from the
37
+ `D. E. Shaw group <https://deshaw.com/>`_.
35
38
 
36
39
  IPython requires Python 3.11 or newer.
37
40
 
@@ -166,7 +166,8 @@ in the input prompt:
166
166
 
167
167
  .. code-block:: python
168
168
 
169
- from IPython.terminal.prompts import Prompts, Token
169
+ from IPython.terminal.prompts import Prompts
170
+ from pygments.token import Token
170
171
  import os
171
172
 
172
173
  class MyPrompt(Prompts):