ipython 8.35.0__tar.gz → 8.37.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 (626) hide show
  1. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/completer.py +46 -1
  2. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/magics/execution.py +27 -21
  3. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/release.py +1 -1
  4. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_completer.py +37 -0
  5. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_magic.py +20 -2
  6. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/interactiveshell.py +7 -4
  7. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/shortcuts/auto_suggest.py +33 -17
  8. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/tests/fake_llm.py +16 -2
  9. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/tests/test_shortcuts.py +20 -3
  10. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/_sysinfo.py +1 -1
  11. {ipython-8.35.0/ipython.egg-info → ipython-8.37.0}/PKG-INFO +1 -1
  12. {ipython-8.35.0/docs/source/savefig → ipython-8.37.0/docs}/hist_simple.png +0 -0
  13. {ipython-8.35.0/docs/source/savefig → ipython-8.37.0/docs}/hist_with_text.png +0 -0
  14. {ipython-8.35.0/docs/source/savefig → ipython-8.37.0/docs}/plot_simple.png +0 -0
  15. {ipython-8.35.0/docs/source/savefig → ipython-8.37.0/docs}/plot_simple_python.png +0 -0
  16. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.compilerop.rst +5 -2
  17. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.completer.rst +7 -1
  18. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.debugger.rst +4 -1
  19. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.history.rst +2 -17
  20. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.hooks.rst +4 -1
  21. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.inputtransformer.rst +2 -0
  22. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.inputtransformer2.rst +4 -1
  23. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.interactiveshell.rst +8 -5
  24. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.payloadpage.rst +5 -2
  25. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.pylabtools.rst +5 -2
  26. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.ultratb.rst +31 -1
  27. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.display.rst +7 -1
  28. ipython-8.37.0/docs/source/api/generated/IPython.lib.lexers.rst +38 -0
  29. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.rst +4 -1
  30. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.terminal.shortcuts.rst +29 -2
  31. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.testing.decorators.rst +4 -1
  32. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.testing.tools.rst +7 -1
  33. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.PyColorize.rst +2 -12
  34. ipython-8.37.0/docs/source/api/generated/IPython.utils.coloransi.rst +40 -0
  35. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.path.rst +7 -1
  36. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.sysinfo.rst +4 -1
  37. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.syspathcontext.rst +8 -2
  38. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.terminal.rst +4 -1
  39. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.text.rst +17 -2
  40. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.tokenutil.rst +0 -7
  41. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/gen.txt +1 -4
  42. {ipython-8.35.0 → ipython-8.37.0}/docs/source/config/options/terminal.rst +44 -35
  43. {ipython-8.35.0 → ipython-8.37.0}/docs/source/interactive/magics-generated.txt +65 -64
  44. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/version8.rst +21 -0
  45. {ipython-8.35.0 → ipython-8.37.0}/examples/auto_suggest_llm.py +2 -2
  46. {ipython-8.35.0 → ipython-8.37.0/ipython.egg-info}/PKG-INFO +1 -1
  47. {ipython-8.35.0 → ipython-8.37.0}/ipython.egg-info/SOURCES.txt +5 -7
  48. ipython-8.35.0/docs/source/api/generated/IPython.core.doctb.rst +0 -16
  49. ipython-8.35.0/docs/source/api/generated/IPython.core.tbtools.rst +0 -40
  50. ipython-8.35.0/docs/source/api/generated/IPython.core.tips.rst +0 -13
  51. ipython-8.35.0/docs/source/api/generated/IPython.utils.coloransi.rst +0 -14
  52. {ipython-8.35.0 → ipython-8.37.0}/.flake8 +0 -0
  53. {ipython-8.35.0 → ipython-8.37.0}/.mailmap +0 -0
  54. {ipython-8.35.0 → ipython-8.37.0}/.pre-commit-config.yaml +0 -0
  55. {ipython-8.35.0 → ipython-8.37.0}/COPYING.rst +0 -0
  56. {ipython-8.35.0 → ipython-8.37.0}/IPython/__init__.py +0 -0
  57. {ipython-8.35.0 → ipython-8.37.0}/IPython/__main__.py +0 -0
  58. {ipython-8.35.0 → ipython-8.37.0}/IPython/conftest.py +0 -0
  59. {ipython-8.35.0 → ipython-8.37.0}/IPython/consoleapp.py +0 -0
  60. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/__init__.py +0 -0
  61. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/alias.py +0 -0
  62. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/application.py +0 -0
  63. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/async_helpers.py +0 -0
  64. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/autocall.py +0 -0
  65. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/builtin_trap.py +0 -0
  66. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/compilerop.py +0 -0
  67. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/completerlib.py +0 -0
  68. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/crashhandler.py +0 -0
  69. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/debugger.py +0 -0
  70. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/display.py +0 -0
  71. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/display_functions.py +0 -0
  72. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/display_trap.py +0 -0
  73. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/displayhook.py +0 -0
  74. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/displaypub.py +0 -0
  75. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/error.py +0 -0
  76. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/events.py +0 -0
  77. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/excolors.py +0 -0
  78. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/extensions.py +0 -0
  79. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/formatters.py +0 -0
  80. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/getipython.py +0 -0
  81. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/guarded_eval.py +0 -0
  82. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/history.py +0 -0
  83. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/historyapp.py +0 -0
  84. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/hooks.py +0 -0
  85. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/inputsplitter.py +0 -0
  86. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/inputtransformer.py +0 -0
  87. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/inputtransformer2.py +0 -0
  88. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/interactiveshell.py +0 -0
  89. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/latex_symbols.py +0 -0
  90. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/logger.py +0 -0
  91. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/macro.py +0 -0
  92. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/magic.py +0 -0
  93. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/magic_arguments.py +0 -0
  94. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/magics/__init__.py +0 -0
  95. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/magics/ast_mod.py +0 -0
  96. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/magics/auto.py +0 -0
  97. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/magics/basic.py +0 -0
  98. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/magics/code.py +0 -0
  99. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/magics/config.py +0 -0
  100. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/magics/display.py +0 -0
  101. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/magics/extension.py +0 -0
  102. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/magics/history.py +0 -0
  103. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/magics/logging.py +0 -0
  104. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/magics/namespace.py +0 -0
  105. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/magics/osm.py +0 -0
  106. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/magics/packaging.py +0 -0
  107. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/magics/pylab.py +0 -0
  108. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/magics/script.py +0 -0
  109. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/oinspect.py +0 -0
  110. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/page.py +0 -0
  111. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/payload.py +0 -0
  112. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/payloadpage.py +0 -0
  113. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/prefilter.py +0 -0
  114. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/profile/README_STARTUP +0 -0
  115. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/profileapp.py +0 -0
  116. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/profiledir.py +0 -0
  117. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/prompts.py +0 -0
  118. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/pylabtools.py +0 -0
  119. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/shellapp.py +0 -0
  120. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/splitinput.py +0 -0
  121. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/2x2.jpg +0 -0
  122. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/2x2.png +0 -0
  123. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/__init__.py +0 -0
  124. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/bad_all.py +0 -0
  125. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/daft_extension/daft_extension.py +0 -0
  126. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/nonascii.py +0 -0
  127. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/nonascii2.py +0 -0
  128. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/print_argv.py +0 -0
  129. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/refbug.py +0 -0
  130. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/simpleerr.py +0 -0
  131. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/tclass.py +0 -0
  132. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_alias.py +0 -0
  133. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_application.py +0 -0
  134. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_async_helpers.py +0 -0
  135. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_autocall.py +0 -0
  136. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_compilerop.py +0 -0
  137. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_completerlib.py +0 -0
  138. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_debugger.py +0 -0
  139. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_display.py +0 -0
  140. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_displayhook.py +0 -0
  141. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_events.py +0 -0
  142. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_exceptiongroup_tb.py +0 -0
  143. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_extension.py +0 -0
  144. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_formatters.py +0 -0
  145. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_guarded_eval.py +0 -0
  146. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_handlers.py +0 -0
  147. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_history.py +0 -0
  148. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_hooks.py +0 -0
  149. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_imports.py +0 -0
  150. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_inputsplitter.py +0 -0
  151. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_inputtransformer.py +0 -0
  152. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_inputtransformer2.py +0 -0
  153. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_inputtransformer2_line.py +0 -0
  154. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_interactiveshell.py +0 -0
  155. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_iplib.py +0 -0
  156. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_logger.py +0 -0
  157. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_magic_arguments.py +0 -0
  158. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_magic_terminal.py +0 -0
  159. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_oinspect.py +0 -0
  160. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_page.py +0 -0
  161. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_paths.py +0 -0
  162. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_prefilter.py +0 -0
  163. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_profile.py +0 -0
  164. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_prompts.py +0 -0
  165. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_pylabtools.py +0 -0
  166. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_run.py +0 -0
  167. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_shellapp.py +0 -0
  168. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_splitinput.py +0 -0
  169. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/tests/test_ultratb.py +0 -0
  170. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/ultratb.py +0 -0
  171. {ipython-8.35.0 → ipython-8.37.0}/IPython/core/usage.py +0 -0
  172. {ipython-8.35.0 → ipython-8.37.0}/IPython/display.py +0 -0
  173. {ipython-8.35.0 → ipython-8.37.0}/IPython/extensions/__init__.py +0 -0
  174. {ipython-8.35.0 → ipython-8.37.0}/IPython/extensions/autoreload.py +0 -0
  175. {ipython-8.35.0 → ipython-8.37.0}/IPython/extensions/storemagic.py +0 -0
  176. {ipython-8.35.0 → ipython-8.37.0}/IPython/extensions/tests/__init__.py +0 -0
  177. {ipython-8.35.0 → ipython-8.37.0}/IPython/extensions/tests/test_autoreload.py +0 -0
  178. {ipython-8.35.0 → ipython-8.37.0}/IPython/extensions/tests/test_storemagic.py +0 -0
  179. {ipython-8.35.0 → ipython-8.37.0}/IPython/external/__init__.py +0 -0
  180. {ipython-8.35.0 → ipython-8.37.0}/IPython/external/qt_for_kernel.py +0 -0
  181. {ipython-8.35.0 → ipython-8.37.0}/IPython/external/qt_loaders.py +0 -0
  182. {ipython-8.35.0 → ipython-8.37.0}/IPython/external/tests/__init__.py +0 -0
  183. {ipython-8.35.0 → ipython-8.37.0}/IPython/external/tests/test_qt_loaders.py +0 -0
  184. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/__init__.py +0 -0
  185. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/backgroundjobs.py +0 -0
  186. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/clipboard.py +0 -0
  187. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/deepreload.py +0 -0
  188. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/demo.py +0 -0
  189. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/display.py +0 -0
  190. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/editorhooks.py +0 -0
  191. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/guisupport.py +0 -0
  192. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/latextools.py +0 -0
  193. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/lexers.py +0 -0
  194. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/pretty.py +0 -0
  195. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/tests/__init__.py +0 -0
  196. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/tests/test.wav +0 -0
  197. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/tests/test_backgroundjobs.py +0 -0
  198. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/tests/test_clipboard.py +0 -0
  199. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/tests/test_deepreload.py +0 -0
  200. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/tests/test_display.py +0 -0
  201. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/tests/test_editorhooks.py +0 -0
  202. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/tests/test_imports.py +0 -0
  203. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/tests/test_latextools.py +0 -0
  204. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/tests/test_lexers.py +0 -0
  205. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/tests/test_pretty.py +0 -0
  206. {ipython-8.35.0 → ipython-8.37.0}/IPython/lib/tests/test_pygments.py +0 -0
  207. {ipython-8.35.0 → ipython-8.37.0}/IPython/paths.py +0 -0
  208. {ipython-8.35.0 → ipython-8.37.0}/IPython/py.typed +0 -0
  209. {ipython-8.35.0 → ipython-8.37.0}/IPython/sphinxext/__init__.py +0 -0
  210. {ipython-8.35.0 → ipython-8.37.0}/IPython/sphinxext/custom_doctests.py +0 -0
  211. {ipython-8.35.0 → ipython-8.37.0}/IPython/sphinxext/ipython_console_highlighting.py +0 -0
  212. {ipython-8.35.0 → ipython-8.37.0}/IPython/sphinxext/ipython_directive.py +0 -0
  213. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/__init__.py +0 -0
  214. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/console.py +0 -0
  215. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/debugger.py +0 -0
  216. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/embed.py +0 -0
  217. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/ipapp.py +0 -0
  218. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/magics.py +0 -0
  219. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/prompts.py +0 -0
  220. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/pt_inputhooks/__init__.py +0 -0
  221. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/pt_inputhooks/asyncio.py +0 -0
  222. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/pt_inputhooks/glut.py +0 -0
  223. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/pt_inputhooks/gtk.py +0 -0
  224. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/pt_inputhooks/gtk3.py +0 -0
  225. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/pt_inputhooks/gtk4.py +0 -0
  226. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/pt_inputhooks/osx.py +0 -0
  227. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/pt_inputhooks/pyglet.py +0 -0
  228. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/pt_inputhooks/qt.py +0 -0
  229. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/pt_inputhooks/tk.py +0 -0
  230. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/pt_inputhooks/wx.py +0 -0
  231. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/ptutils.py +0 -0
  232. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/shortcuts/__init__.py +0 -0
  233. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/shortcuts/auto_match.py +0 -0
  234. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/shortcuts/filters.py +0 -0
  235. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/tests/__init__.py +0 -0
  236. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/tests/test_debug_magic.py +0 -0
  237. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/tests/test_embed.py +0 -0
  238. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/tests/test_help.py +0 -0
  239. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/tests/test_interactivshell.py +0 -0
  240. {ipython-8.35.0 → ipython-8.37.0}/IPython/terminal/tests/test_pt_inputhooks.py +0 -0
  241. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/__init__.py +0 -0
  242. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/decorators.py +0 -0
  243. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/globalipapp.py +0 -0
  244. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/ipunittest.py +0 -0
  245. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/plugin/Makefile +0 -0
  246. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/plugin/README.txt +0 -0
  247. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/plugin/__init__.py +0 -0
  248. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/plugin/dtexample.py +0 -0
  249. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/plugin/ipdoctest.py +0 -0
  250. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/plugin/pytest_ipdoctest.py +0 -0
  251. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/plugin/setup.py +0 -0
  252. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/plugin/simple.py +0 -0
  253. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/plugin/simplevars.py +0 -0
  254. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/plugin/test_combo.txt +0 -0
  255. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/plugin/test_example.txt +0 -0
  256. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/plugin/test_exampleip.txt +0 -0
  257. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/plugin/test_ipdoctest.py +0 -0
  258. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/plugin/test_refs.py +0 -0
  259. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/skipdoctest.py +0 -0
  260. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/tests/__init__.py +0 -0
  261. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/tests/test_decorators.py +0 -0
  262. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/tests/test_ipunittest.py +0 -0
  263. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/tests/test_tools.py +0 -0
  264. {ipython-8.35.0 → ipython-8.37.0}/IPython/testing/tools.py +0 -0
  265. {ipython-8.35.0 → ipython-8.37.0}/IPython/tests/cve.py +0 -0
  266. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/PyColorize.py +0 -0
  267. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/__init__.py +0 -0
  268. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/_process_cli.py +0 -0
  269. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/_process_common.py +0 -0
  270. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/_process_emscripten.py +0 -0
  271. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/_process_posix.py +0 -0
  272. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/_process_win32.py +0 -0
  273. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/_process_win32_controller.py +0 -0
  274. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/capture.py +0 -0
  275. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/colorable.py +0 -0
  276. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/coloransi.py +0 -0
  277. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/contexts.py +0 -0
  278. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/daemonize.py +0 -0
  279. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/data.py +0 -0
  280. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/decorators.py +0 -0
  281. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/dir2.py +0 -0
  282. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/docs.py +0 -0
  283. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/encoding.py +0 -0
  284. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/eventful.py +0 -0
  285. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/frame.py +0 -0
  286. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/generics.py +0 -0
  287. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/importstring.py +0 -0
  288. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/io.py +0 -0
  289. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/ipstruct.py +0 -0
  290. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/jsonutil.py +0 -0
  291. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/localinterfaces.py +0 -0
  292. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/log.py +0 -0
  293. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/module_paths.py +0 -0
  294. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/openpy.py +0 -0
  295. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/path.py +0 -0
  296. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/process.py +0 -0
  297. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/py3compat.py +0 -0
  298. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/sentinel.py +0 -0
  299. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/shimmodule.py +0 -0
  300. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/signatures.py +0 -0
  301. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/strdispatch.py +0 -0
  302. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/sysinfo.py +0 -0
  303. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/syspathcontext.py +0 -0
  304. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tempdir.py +0 -0
  305. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/terminal.py +0 -0
  306. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tests/__init__.py +0 -0
  307. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tests/test_capture.py +0 -0
  308. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tests/test_decorators.py +0 -0
  309. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tests/test_deprecated.py +0 -0
  310. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tests/test_dir2.py +0 -0
  311. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tests/test_imports.py +0 -0
  312. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tests/test_importstring.py +0 -0
  313. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tests/test_io.py +0 -0
  314. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tests/test_module_paths.py +0 -0
  315. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tests/test_openpy.py +0 -0
  316. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tests/test_path.py +0 -0
  317. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tests/test_process.py +0 -0
  318. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tests/test_pycolorize.py +0 -0
  319. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tests/test_shimmodule.py +0 -0
  320. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tests/test_sysinfo.py +0 -0
  321. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tests/test_tempdir.py +0 -0
  322. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tests/test_text.py +0 -0
  323. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tests/test_tokenutil.py +0 -0
  324. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tests/test_wildcard.py +0 -0
  325. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/text.py +0 -0
  326. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/timing.py +0 -0
  327. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tokenutil.py +0 -0
  328. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/traitlets.py +0 -0
  329. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/tz.py +0 -0
  330. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/ulinecache.py +0 -0
  331. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/version.py +0 -0
  332. {ipython-8.35.0 → ipython-8.37.0}/IPython/utils/wildcard.py +0 -0
  333. {ipython-8.35.0 → ipython-8.37.0}/LICENSE +0 -0
  334. {ipython-8.35.0 → ipython-8.37.0}/MANIFEST.in +0 -0
  335. {ipython-8.35.0 → ipython-8.37.0}/README.rst +0 -0
  336. {ipython-8.35.0 → ipython-8.37.0}/_build_meta.py +0 -0
  337. {ipython-8.35.0 → ipython-8.37.0}/docs/Makefile +0 -0
  338. {ipython-8.35.0 → ipython-8.37.0}/docs/README.rst +0 -0
  339. {ipython-8.35.0 → ipython-8.37.0}/docs/autogen_api.py +0 -0
  340. {ipython-8.35.0 → ipython-8.37.0}/docs/autogen_config.py +0 -0
  341. {ipython-8.35.0 → ipython-8.37.0}/docs/autogen_magics.py +0 -0
  342. {ipython-8.35.0 → ipython-8.37.0}/docs/autogen_shortcuts.py +0 -0
  343. {ipython-8.35.0 → ipython-8.37.0}/docs/make.cmd +0 -0
  344. {ipython-8.35.0 → ipython-8.37.0}/docs/man/ipython.1 +0 -0
  345. {ipython-8.35.0 → ipython-8.37.0}/docs/requirements.txt +0 -0
  346. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/2.0/running-crop.png +0 -0
  347. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/2.0/running.png +0 -0
  348. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/2.0/treeview.png +0 -0
  349. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/2.0/user-interface.png +0 -0
  350. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/2.0/widgets.png +0 -0
  351. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/8.0/auto_suggest_1_prompt_no_text.png +0 -0
  352. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/8.0/auto_suggest_2_print_hello_suggest.png +0 -0
  353. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/8.0/auto_suggest_3_print_hello_suggest.png +0 -0
  354. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/8.0/auto_suggest_4_print_hello.png +0 -0
  355. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/8.0/auto_suggest_d_completions.png +0 -0
  356. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/8.0/auto_suggest_d_phantom.png +0 -0
  357. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/8.0/auto_suggest_def_completions.png +0 -0
  358. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/8.0/auto_suggest_def_phantom.png +0 -0
  359. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/8.0/auto_suggest_match_parens.png +0 -0
  360. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/8.0/auto_suggest_second_prompt.png +0 -0
  361. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/8.0/pathlib_pathlib_everywhere.jpg +0 -0
  362. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/autosuggest.gif +0 -0
  363. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/ipy_013_dashboard.png +0 -0
  364. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/ipy_013_dashboard_cluster.png +0 -0
  365. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/ipy_013_notebook_cythonmagic.png +0 -0
  366. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/ipy_013_notebook_long_out.png +0 -0
  367. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/ipy_013_notebook_octavemagic.png +0 -0
  368. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/ipy_013_notebook_rmagic.png +0 -0
  369. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/ipy_013_notebook_script_cells.png +0 -0
  370. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/ipy_013_notebook_spectrogram.png +0 -0
  371. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/ipy_013_notebook_tooltip.png +0 -0
  372. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/ipy_013_par_tb.png +0 -0
  373. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/ipy_013_qtconsole_baboon.png +0 -0
  374. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/ipy_013_qtconsole_completer.png +0 -0
  375. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/ipython-6-screenshot.png +0 -0
  376. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/jedi_type_inference_60.png +0 -0
  377. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/kernel_selector_screenshot.png +0 -0
  378. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/ms_visual_studio.png +0 -0
  379. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/notebook_specgram.png +0 -0
  380. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/ptshell_features.png +0 -0
  381. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/qtconsole.png +0 -0
  382. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/qtconsole_tabbed.png +0 -0
  383. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_images/unicode_completion.png +0 -0
  384. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_static/favicon.ico +0 -0
  385. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_static/logo.png +0 -0
  386. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_static/theme_overrides.css +0 -0
  387. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_templates/breadcrumbs.html +0 -0
  388. {ipython-8.35.0 → ipython-8.37.0}/docs/source/_templates/notebook_redirect.html +0 -0
  389. {ipython-8.35.0 → ipython-8.37.0}/docs/source/about/history.rst +0 -0
  390. {ipython-8.35.0 → ipython-8.37.0}/docs/source/about/index.rst +0 -0
  391. {ipython-8.35.0 → ipython-8.37.0}/docs/source/about/license_and_copyright.rst +0 -0
  392. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.conftest.rst +0 -0
  393. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.alias.rst +0 -0
  394. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.application.rst +0 -0
  395. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.async_helpers.rst +0 -0
  396. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.autocall.rst +0 -0
  397. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.builtin_trap.rst +0 -0
  398. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.completerlib.rst +0 -0
  399. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.crashhandler.rst +0 -0
  400. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.error.rst +0 -0
  401. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.events.rst +0 -0
  402. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.excolors.rst +0 -0
  403. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.extensions.rst +0 -0
  404. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.formatters.rst +0 -0
  405. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.getipython.rst +0 -0
  406. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.guarded_eval.rst +0 -0
  407. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.historyapp.rst +0 -0
  408. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.inputsplitter.rst +0 -0
  409. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.logger.rst +0 -0
  410. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.macro.rst +0 -0
  411. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.magic.rst +0 -0
  412. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.magic_arguments.rst +0 -0
  413. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.magics.ast_mod.rst +0 -0
  414. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.magics.auto.rst +0 -0
  415. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.magics.basic.rst +0 -0
  416. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.magics.code.rst +0 -0
  417. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.magics.display.rst +0 -0
  418. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.magics.execution.rst +0 -0
  419. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.magics.extension.rst +0 -0
  420. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.magics.history.rst +0 -0
  421. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.magics.logging.rst +0 -0
  422. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.magics.namespace.rst +0 -0
  423. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.magics.osm.rst +0 -0
  424. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.magics.packaging.rst +0 -0
  425. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.magics.pylab.rst +0 -0
  426. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.magics.rst +0 -0
  427. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.magics.script.rst +0 -0
  428. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.oinspect.rst +0 -0
  429. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.page.rst +0 -0
  430. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.payload.rst +0 -0
  431. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.prefilter.rst +0 -0
  432. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.profileapp.rst +0 -0
  433. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.profiledir.rst +0 -0
  434. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.prompts.rst +0 -0
  435. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.shellapp.rst +0 -0
  436. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.core.splitinput.rst +0 -0
  437. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.lib.backgroundjobs.rst +0 -0
  438. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.lib.clipboard.rst +0 -0
  439. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.lib.deepreload.rst +0 -0
  440. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.lib.demo.rst +0 -0
  441. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.lib.editorhooks.rst +0 -0
  442. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.lib.guisupport.rst +0 -0
  443. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.lib.latextools.rst +0 -0
  444. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.lib.pretty.rst +0 -0
  445. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.paths.rst +0 -0
  446. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.terminal.debugger.rst +0 -0
  447. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.terminal.embed.rst +0 -0
  448. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.terminal.interactiveshell.rst +0 -0
  449. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.terminal.ipapp.rst +0 -0
  450. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.terminal.magics.rst +0 -0
  451. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.terminal.prompts.rst +0 -0
  452. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.terminal.shortcuts.auto_match.rst +0 -0
  453. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.terminal.shortcuts.auto_suggest.rst +0 -0
  454. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.terminal.shortcuts.filters.rst +0 -0
  455. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.testing.globalipapp.rst +0 -0
  456. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.testing.ipunittest.rst +0 -0
  457. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.testing.skipdoctest.rst +0 -0
  458. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.capture.rst +0 -0
  459. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.colorable.rst +0 -0
  460. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.contexts.rst +0 -0
  461. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.data.rst +0 -0
  462. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.decorators.rst +0 -0
  463. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.dir2.rst +0 -0
  464. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.encoding.rst +0 -0
  465. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.frame.rst +0 -0
  466. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.generics.rst +0 -0
  467. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.importstring.rst +0 -0
  468. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.io.rst +0 -0
  469. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.ipstruct.rst +0 -0
  470. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.module_paths.rst +0 -0
  471. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.openpy.rst +0 -0
  472. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.process.rst +0 -0
  473. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.sentinel.rst +0 -0
  474. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.shimmodule.rst +0 -0
  475. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.strdispatch.rst +0 -0
  476. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.tempdir.rst +0 -0
  477. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.timing.rst +0 -0
  478. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.tz.rst +0 -0
  479. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.ulinecache.rst +0 -0
  480. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/generated/IPython.utils.wildcard.rst +0 -0
  481. {ipython-8.35.0 → ipython-8.37.0}/docs/source/api/index.rst +0 -0
  482. {ipython-8.35.0 → ipython-8.37.0}/docs/source/conf.py +0 -0
  483. {ipython-8.35.0 → ipython-8.37.0}/docs/source/config/callbacks.rst +0 -0
  484. {ipython-8.35.0 → ipython-8.37.0}/docs/source/config/custommagics.rst +0 -0
  485. {ipython-8.35.0 → ipython-8.37.0}/docs/source/config/details.rst +0 -0
  486. {ipython-8.35.0 → ipython-8.37.0}/docs/source/config/eventloops.rst +0 -0
  487. {ipython-8.35.0 → ipython-8.37.0}/docs/source/config/extensions/autoreload.rst +0 -0
  488. {ipython-8.35.0 → ipython-8.37.0}/docs/source/config/extensions/index.rst +0 -0
  489. {ipython-8.35.0 → ipython-8.37.0}/docs/source/config/extensions/storemagic.rst +0 -0
  490. {ipython-8.35.0 → ipython-8.37.0}/docs/source/config/index.rst +0 -0
  491. {ipython-8.35.0 → ipython-8.37.0}/docs/source/config/inputtransforms.rst +0 -0
  492. {ipython-8.35.0 → ipython-8.37.0}/docs/source/config/integrating.rst +0 -0
  493. {ipython-8.35.0 → ipython-8.37.0}/docs/source/config/intro.rst +0 -0
  494. {ipython-8.35.0 → ipython-8.37.0}/docs/source/config/options/config-generated.txt +0 -0
  495. {ipython-8.35.0 → ipython-8.37.0}/docs/source/config/options/index.rst +0 -0
  496. {ipython-8.35.0 → ipython-8.37.0}/docs/source/config/shell_mimerenderer.rst +0 -0
  497. {ipython-8.35.0 → ipython-8.37.0}/docs/source/config/shortcuts/index.rst +0 -0
  498. {ipython-8.35.0 → ipython-8.37.0}/docs/source/config/shortcuts/table.tsv +0 -0
  499. {ipython-8.35.0 → ipython-8.37.0}/docs/source/coredev/index.rst +0 -0
  500. {ipython-8.35.0 → ipython-8.37.0}/docs/source/development/config.rst +0 -0
  501. {ipython-8.35.0 → ipython-8.37.0}/docs/source/development/execution.rst +0 -0
  502. {ipython-8.35.0 → ipython-8.37.0}/docs/source/development/figs/ipy_kernel_and_terminal.png +0 -0
  503. {ipython-8.35.0 → ipython-8.37.0}/docs/source/development/figs/ipy_kernel_and_terminal.svg +0 -0
  504. {ipython-8.35.0 → ipython-8.37.0}/docs/source/development/figs/other_kernels.png +0 -0
  505. {ipython-8.35.0 → ipython-8.37.0}/docs/source/development/figs/other_kernels.svg +0 -0
  506. {ipython-8.35.0 → ipython-8.37.0}/docs/source/development/how_ipython_works.rst +0 -0
  507. {ipython-8.35.0 → ipython-8.37.0}/docs/source/development/index.rst +0 -0
  508. {ipython-8.35.0 → ipython-8.37.0}/docs/source/development/inputhook_app.rst +0 -0
  509. {ipython-8.35.0 → ipython-8.37.0}/docs/source/development/kernels.rst +0 -0
  510. {ipython-8.35.0 → ipython-8.37.0}/docs/source/development/lexer.rst +0 -0
  511. {ipython-8.35.0 → ipython-8.37.0}/docs/source/development/messaging.rst +0 -0
  512. {ipython-8.35.0 → ipython-8.37.0}/docs/source/development/pycompat.rst +0 -0
  513. {ipython-8.35.0 → ipython-8.37.0}/docs/source/development/wrapperkernels.rst +0 -0
  514. {ipython-8.35.0 → ipython-8.37.0}/docs/source/index.rst +0 -0
  515. {ipython-8.35.0 → ipython-8.37.0}/docs/source/install/index.rst +0 -0
  516. {ipython-8.35.0 → ipython-8.37.0}/docs/source/install/install.rst +0 -0
  517. {ipython-8.35.0 → ipython-8.37.0}/docs/source/install/kernel_install.rst +0 -0
  518. {ipython-8.35.0 → ipython-8.37.0}/docs/source/interactive/autoawait.rst +0 -0
  519. {ipython-8.35.0 → ipython-8.37.0}/docs/source/interactive/figs/besselj.png +0 -0
  520. {ipython-8.35.0 → ipython-8.37.0}/docs/source/interactive/figs/colors_dark.png +0 -0
  521. {ipython-8.35.0 → ipython-8.37.0}/docs/source/interactive/figs/jn.html +0 -0
  522. {ipython-8.35.0 → ipython-8.37.0}/docs/source/interactive/figs/jn.xhtml +0 -0
  523. {ipython-8.35.0 → ipython-8.37.0}/docs/source/interactive/index.rst +0 -0
  524. {ipython-8.35.0 → ipython-8.37.0}/docs/source/interactive/magics.rst +0 -0
  525. {ipython-8.35.0 → ipython-8.37.0}/docs/source/interactive/plotting.rst +0 -0
  526. {ipython-8.35.0 → ipython-8.37.0}/docs/source/interactive/python-ipython-diff.rst +0 -0
  527. {ipython-8.35.0 → ipython-8.37.0}/docs/source/interactive/reference.rst +0 -0
  528. {ipython-8.35.0 → ipython-8.37.0}/docs/source/interactive/shell.rst +0 -0
  529. {ipython-8.35.0 → ipython-8.37.0}/docs/source/interactive/tips.rst +0 -0
  530. {ipython-8.35.0 → ipython-8.37.0}/docs/source/interactive/tutorial.rst +0 -0
  531. {ipython-8.35.0 → ipython-8.37.0}/docs/source/links.txt +0 -0
  532. {ipython-8.35.0 → ipython-8.37.0}/docs/source/overview.rst +0 -0
  533. {ipython-8.35.0 → ipython-8.37.0}/docs/source/parallel/index.rst +0 -0
  534. {ipython-8.35.0 → ipython-8.37.0}/docs/source/sphinx.toml +0 -0
  535. {ipython-8.35.0 → ipython-8.37.0}/docs/source/sphinxext.rst +0 -0
  536. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/development.rst +0 -0
  537. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/github-stats-0.11.rst +0 -0
  538. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/github-stats-0.12.rst +0 -0
  539. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/github-stats-0.13.rst +0 -0
  540. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/github-stats-1.0.rst +0 -0
  541. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/github-stats-2.0.rst +0 -0
  542. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/github-stats-3.rst +0 -0
  543. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/github-stats-4.rst +0 -0
  544. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/github-stats-5.rst +0 -0
  545. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/github-stats-6.rst +0 -0
  546. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/github-stats-7.rst +0 -0
  547. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/github-stats-8.rst +0 -0
  548. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/index.rst +0 -0
  549. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/pr/README.md +0 -0
  550. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/pr/antigravity-feature.rst +0 -0
  551. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/pr/incompat-switching-to-perl.rst +0 -0
  552. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/version0.10.rst +0 -0
  553. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/version0.11.rst +0 -0
  554. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/version0.12.rst +0 -0
  555. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/version0.13.rst +0 -0
  556. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/version0.8.rst +0 -0
  557. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/version0.9.rst +0 -0
  558. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/version1.0.rst +0 -0
  559. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/version2.0.rst +0 -0
  560. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/version3.rst +0 -0
  561. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/version3_widget_migration.rst +0 -0
  562. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/version4.rst +0 -0
  563. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/version5.rst +0 -0
  564. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/version6.rst +0 -0
  565. {ipython-8.35.0 → ipython-8.37.0}/docs/source/whatsnew/version7.rst +0 -0
  566. {ipython-8.35.0 → ipython-8.37.0}/docs/sphinxext/apigen.py +0 -0
  567. {ipython-8.35.0 → ipython-8.37.0}/docs/sphinxext/configtraits.py +0 -0
  568. {ipython-8.35.0 → ipython-8.37.0}/docs/sphinxext/github.py +0 -0
  569. {ipython-8.35.0 → ipython-8.37.0}/docs/sphinxext/magics.py +0 -0
  570. {ipython-8.35.0 → ipython-8.37.0}/examples/Embedding/Index.ipynb +0 -0
  571. {ipython-8.35.0 → ipython-8.37.0}/examples/Embedding/embed_class_long.py +0 -0
  572. {ipython-8.35.0 → ipython-8.37.0}/examples/Embedding/embed_class_short.py +0 -0
  573. {ipython-8.35.0 → ipython-8.37.0}/examples/Embedding/embed_function.py +0 -0
  574. {ipython-8.35.0 → ipython-8.37.0}/examples/Embedding/start_ipython_config.py +0 -0
  575. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/Animations Using clear_output.ipynb +0 -0
  576. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/Background Jobs.ipynb +0 -0
  577. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/Beyond Plain Python.ipynb +0 -0
  578. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/Capturing Output.ipynb +0 -0
  579. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/Cell Magics.ipynb +0 -0
  580. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/Custom Display Logic.ipynb +0 -0
  581. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/Importing Notebooks.ipynb +0 -0
  582. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/Index.ipynb +0 -0
  583. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/Plotting in the Notebook.ipynb +0 -0
  584. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/Raw Input in the Notebook.ipynb +0 -0
  585. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/Rich Output.ipynb +0 -0
  586. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/Script Magics.ipynb +0 -0
  587. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/SymPy.ipynb +0 -0
  588. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/Terminal Usage.ipynb +0 -0
  589. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/Third Party Rich Output.ipynb +0 -0
  590. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/Trapezoid Rule.ipynb +0 -0
  591. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/Updating Displays.ipynb +0 -0
  592. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/Working With External Code.ipynb +0 -0
  593. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/data/flare.json +0 -0
  594. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/example-demo.py +0 -0
  595. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/gui/gui-glut.py +0 -0
  596. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/gui/gui-gtk4.py +0 -0
  597. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/gui/gui-qt.py +0 -0
  598. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/ipython-completion.bash +0 -0
  599. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/ipython-get-history.py +0 -0
  600. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/ipython.desktop +0 -0
  601. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/nbpackage/__init__.py +0 -0
  602. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/nbpackage/mynotebook.ipynb +0 -0
  603. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/nbpackage/nbs/__init__.py +0 -0
  604. {ipython-8.35.0 → ipython-8.37.0}/examples/IPython Kernel/nbpackage/nbs/other.ipynb +0 -0
  605. {ipython-8.35.0 → ipython-8.37.0}/examples/Index.ipynb +0 -0
  606. {ipython-8.35.0 → ipython-8.37.0}/examples/images/FrontendKernel.graffle/data.plist +0 -0
  607. {ipython-8.35.0 → ipython-8.37.0}/examples/images/FrontendKernel.graffle/image1.png +0 -0
  608. {ipython-8.35.0 → ipython-8.37.0}/examples/images/FrontendKernel.png +0 -0
  609. {ipython-8.35.0 → ipython-8.37.0}/examples/images/animation.m4v +0 -0
  610. {ipython-8.35.0 → ipython-8.37.0}/examples/images/ipython_logo.png +0 -0
  611. {ipython-8.35.0 → ipython-8.37.0}/examples/images/python_logo.svg +0 -0
  612. {ipython-8.35.0 → ipython-8.37.0}/examples/utils/cwd_prompt.py +0 -0
  613. {ipython-8.35.0 → ipython-8.37.0}/examples/utils/list_pyfiles.ipy +0 -0
  614. {ipython-8.35.0 → ipython-8.37.0}/examples/utils/list_subdirs.ipy +0 -0
  615. {ipython-8.35.0 → ipython-8.37.0}/ipython.egg-info/dependency_links.txt +0 -0
  616. {ipython-8.35.0 → ipython-8.37.0}/ipython.egg-info/entry_points.txt +0 -0
  617. {ipython-8.35.0 → ipython-8.37.0}/ipython.egg-info/not-zip-safe +0 -0
  618. {ipython-8.35.0 → ipython-8.37.0}/ipython.egg-info/requires.txt +0 -0
  619. {ipython-8.35.0 → ipython-8.37.0}/ipython.egg-info/top_level.txt +0 -0
  620. {ipython-8.35.0 → ipython-8.37.0}/long_description.rst +0 -0
  621. {ipython-8.35.0 → ipython-8.37.0}/pyproject.toml +0 -0
  622. {ipython-8.35.0 → ipython-8.37.0}/scripts/ipython.ico +0 -0
  623. {ipython-8.35.0 → ipython-8.37.0}/scripts/ipython_nb.ico +0 -0
  624. {ipython-8.35.0 → ipython-8.37.0}/setup.cfg +0 -0
  625. {ipython-8.35.0 → ipython-8.37.0}/setup.py +0 -0
  626. {ipython-8.35.0 → ipython-8.37.0}/setupbase.py +0 -0
@@ -1145,6 +1145,48 @@ class Completer(Configurable):
1145
1145
  # we simple attribute matching with normal identifiers.
1146
1146
  _ATTR_MATCH_RE = re.compile(r"(.+)\.(\w*)$")
1147
1147
 
1148
+ def _strip_code_before_operator(self, code: str) -> str:
1149
+ o_parens = {"(", "[", "{"}
1150
+ c_parens = {")", "]", "}"}
1151
+
1152
+ # Dry-run tokenize to catch errors
1153
+ try:
1154
+ _ = list(tokenize.generate_tokens(iter(code.splitlines()).__next__))
1155
+ except tokenize.TokenError:
1156
+ # Try trimming the expression and retrying
1157
+ trimmed_code = self._trim_expr(code)
1158
+ try:
1159
+ _ = list(
1160
+ tokenize.generate_tokens(iter(trimmed_code.splitlines()).__next__)
1161
+ )
1162
+ code = trimmed_code
1163
+ except tokenize.TokenError:
1164
+ return code
1165
+
1166
+ tokens = _parse_tokens(code)
1167
+ encountered_operator = False
1168
+ after_operator = []
1169
+ nesting_level = 0
1170
+
1171
+ for t in tokens:
1172
+ if t.type == tokenize.OP:
1173
+ if t.string in o_parens:
1174
+ nesting_level += 1
1175
+ elif t.string in c_parens:
1176
+ nesting_level -= 1
1177
+ elif t.string != "." and nesting_level == 0:
1178
+ encountered_operator = True
1179
+ after_operator = []
1180
+ continue
1181
+
1182
+ if encountered_operator:
1183
+ after_operator.append(t.string)
1184
+
1185
+ if encountered_operator:
1186
+ return "".join(after_operator)
1187
+ else:
1188
+ return code
1189
+
1148
1190
  def _attr_matches(
1149
1191
  self, text: str, include_prefix: bool = True
1150
1192
  ) -> Tuple[Sequence[str], str]:
@@ -1152,9 +1194,12 @@ class Completer(Configurable):
1152
1194
  if not m2:
1153
1195
  return [], ""
1154
1196
  expr, attr = m2.group(1, 2)
1197
+ try:
1198
+ expr = self._strip_code_before_operator(expr)
1199
+ except tokenize.TokenError:
1200
+ pass
1155
1201
 
1156
1202
  obj = self._evaluate_expr(expr)
1157
-
1158
1203
  if obj is not_found:
1159
1204
  return [], ""
1160
1205
 
@@ -151,10 +151,11 @@ class TimeitTemplateFiller(ast.NodeTransformer):
151
151
 
152
152
  class Timer(timeit.Timer):
153
153
  """Timer class that explicitly uses self.inner
154
-
154
+
155
155
  which is an undocumented implementation detail of CPython,
156
156
  not shared by PyPy.
157
157
  """
158
+
158
159
  # Timer.timeit copied from CPython 3.4.2
159
160
  def timeit(self, number=timeit.default_number):
160
161
  """Time 'number' executions of the main statement.
@@ -192,7 +193,6 @@ class ExecutionMagics(Magics):
192
193
  @no_var_expand
193
194
  @line_cell_magic
194
195
  def prun(self, parameter_s='', cell=None):
195
-
196
196
  """Run a statement through the python code profiler.
197
197
 
198
198
  **Usage, in line mode:**
@@ -993,7 +993,7 @@ class ExecutionMagics(Magics):
993
993
  # Stop iteration is raised on quit command
994
994
  pass
995
995
 
996
- except:
996
+ except Exception:
997
997
  etype, value, tb = sys.exc_info()
998
998
  # Skip three frames in the traceback: the %run one,
999
999
  # one inside bdb.py, and the command-line typed by the
@@ -1127,7 +1127,7 @@ class ExecutionMagics(Magics):
1127
1127
  )
1128
1128
  if stmt == "" and cell is None:
1129
1129
  return
1130
-
1130
+
1131
1131
  timefunc = timeit.default_timer
1132
1132
  number = int(getattr(opts, "n", 0))
1133
1133
  default_repeat = 7 if timeit.default_repeat < 7 else timeit.default_repeat
@@ -1242,7 +1242,7 @@ class ExecutionMagics(Magics):
1242
1242
  @needs_local_scope
1243
1243
  @line_cell_magic
1244
1244
  @output_can_be_silenced
1245
- def time(self,line='', cell=None, local_ns=None):
1245
+ def time(self, line="", cell=None, local_ns=None):
1246
1246
  """Time execution of a Python statement or expression.
1247
1247
 
1248
1248
  The CPU and wall clock times are printed, and the value of the
@@ -1257,13 +1257,19 @@ class ExecutionMagics(Magics):
1257
1257
  - In cell mode, you can time the cell body (a directly
1258
1258
  following statement raises an error).
1259
1259
 
1260
- This function provides very basic timing functionality. Use the timeit
1260
+ This function provides very basic timing functionality. Use the timeit
1261
1261
  magic for more control over the measurement.
1262
1262
 
1263
1263
  .. versionchanged:: 7.3
1264
1264
  User variables are no longer expanded,
1265
1265
  the magic line is always left unmodified.
1266
1266
 
1267
+ .. versionchanged:: 8.3
1268
+ The time magic now correctly propagates system-exiting exceptions
1269
+ (such as ``KeyboardInterrupt`` invoked when interrupting execution)
1270
+ rather than just printing out the exception traceback.
1271
+ The non-system-exception will still be caught as before.
1272
+
1267
1273
  Examples
1268
1274
  --------
1269
1275
  ::
@@ -1304,10 +1310,10 @@ class ExecutionMagics(Magics):
1304
1310
  Compiler : 0.78 s
1305
1311
  """
1306
1312
  # fail immediately if the given expression can't be compiled
1307
-
1313
+
1308
1314
  if line and cell:
1309
1315
  raise UsageError("Can't use statement directly after '%%time'!")
1310
-
1316
+
1311
1317
  if cell:
1312
1318
  expr = self.shell.transform_cell(cell)
1313
1319
  else:
@@ -1318,7 +1324,7 @@ class ExecutionMagics(Magics):
1318
1324
 
1319
1325
  t0 = clock()
1320
1326
  expr_ast = self.shell.compile.ast_parse(expr)
1321
- tp = clock()-t0
1327
+ tp = clock() - t0
1322
1328
 
1323
1329
  # Apply AST transformations
1324
1330
  expr_ast = self.shell.transform_ast(expr_ast)
@@ -1326,8 +1332,8 @@ class ExecutionMagics(Magics):
1326
1332
  # Minimum time above which compilation time will be reported
1327
1333
  tc_min = 0.1
1328
1334
 
1329
- expr_val=None
1330
- if len(expr_ast.body)==1 and isinstance(expr_ast.body[0], ast.Expr):
1335
+ expr_val = None
1336
+ if len(expr_ast.body) == 1 and isinstance(expr_ast.body[0], ast.Expr):
1331
1337
  mode = 'eval'
1332
1338
  source = '<timed eval>'
1333
1339
  expr_ast = ast.Expression(expr_ast.body[0].value)
@@ -1336,25 +1342,25 @@ class ExecutionMagics(Magics):
1336
1342
  source = '<timed exec>'
1337
1343
  # multi-line %%time case
1338
1344
  if len(expr_ast.body) > 1 and isinstance(expr_ast.body[-1], ast.Expr):
1339
- expr_val= expr_ast.body[-1]
1345
+ expr_val = expr_ast.body[-1]
1340
1346
  expr_ast = expr_ast.body[:-1]
1341
1347
  expr_ast = Module(expr_ast, [])
1342
1348
  expr_val = ast.Expression(expr_val.value)
1343
1349
 
1344
1350
  t0 = clock()
1345
1351
  code = self.shell.compile(expr_ast, source, mode)
1346
- tc = clock()-t0
1352
+ tc = clock() - t0
1347
1353
 
1348
1354
  # skew measurement as little as possible
1349
1355
  glob = self.shell.user_ns
1350
1356
  wtime = time.time
1351
1357
  # time execution
1352
1358
  wall_st = wtime()
1353
- if mode=='eval':
1359
+ if mode == "eval":
1354
1360
  st = clock2()
1355
1361
  try:
1356
1362
  out = eval(code, glob, local_ns)
1357
- except:
1363
+ except Exception:
1358
1364
  self.shell.showtraceback()
1359
1365
  return
1360
1366
  end = clock2()
@@ -1362,12 +1368,12 @@ class ExecutionMagics(Magics):
1362
1368
  st = clock2()
1363
1369
  try:
1364
1370
  exec(code, glob, local_ns)
1365
- out=None
1371
+ out = None
1366
1372
  # multi-line %%time case
1367
1373
  if expr_val is not None:
1368
1374
  code_2 = self.shell.compile(expr_val, source, 'eval')
1369
1375
  out = eval(code_2, glob, local_ns)
1370
- except:
1376
+ except Exception:
1371
1377
  self.shell.showtraceback()
1372
1378
  return
1373
1379
  end = clock2()
@@ -1597,14 +1603,15 @@ def parse_breakpoint(text, current_file):
1597
1603
  return current_file, int(text)
1598
1604
  else:
1599
1605
  return text[:colon], int(text[colon+1:])
1600
-
1606
+
1607
+
1601
1608
  def _format_time(timespan, precision=3):
1602
1609
  """Formats the timespan in a human readable form"""
1603
1610
 
1604
1611
  if timespan >= 60.0:
1605
1612
  # we have more than a minute, format that in a human readable form
1606
1613
  # Idea from http://snipplr.com/view/5713/
1607
- parts = [("d", 60*60*24),("h", 60*60),("min", 60), ("s", 1)]
1614
+ parts = [("d", 60 * 60 * 24), ("h", 60 * 60), ("min", 60), ("s", 1)]
1608
1615
  time = []
1609
1616
  leftover = timespan
1610
1617
  for suffix, length in parts:
@@ -1616,7 +1623,6 @@ def _format_time(timespan, precision=3):
1616
1623
  break
1617
1624
  return " ".join(time)
1618
1625
 
1619
-
1620
1626
  # Unfortunately characters outside of range(128) can cause problems in
1621
1627
  # certain terminals.
1622
1628
  # See bug: https://bugs.launchpad.net/ipython/+bug/348466
@@ -1630,7 +1636,7 @@ def _format_time(timespan, precision=3):
1630
1636
  except:
1631
1637
  pass
1632
1638
  scaling = [1, 1e3, 1e6, 1e9]
1633
-
1639
+
1634
1640
  if timespan > 0.0:
1635
1641
  order = min(-int(math.floor(math.log10(timespan)) // 3), 3)
1636
1642
  else:
@@ -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 = 8
19
- _version_minor = 35
19
+ _version_minor = 37
20
20
  _version_patch = 0
21
21
  _version_extra = ".dev"
22
22
  # _version_extra = "rc1"
@@ -595,7 +595,9 @@ class TestCompleter(unittest.TestCase):
595
595
  """
596
596
  ip = get_ipython()
597
597
  ip.ex("a=list(range(5))")
598
+ ip.ex("b,c = 1, 1.2")
598
599
  ip.ex("d = {'a b': str}")
600
+ ip.ex("x=y='a'")
599
601
  _, c = ip.complete(".", line="a[0].")
600
602
  self.assertFalse(".real" in c, "Shouldn't have completed on a[0]: %s" % c)
601
603
 
@@ -653,6 +655,41 @@ class TestCompleter(unittest.TestCase):
653
655
  "Should have completed on `a.app`: %s",
654
656
  Completion(2, 4, "append"),
655
657
  )
658
+ _(
659
+ "x.upper() == y.",
660
+ 15,
661
+ ".upper",
662
+ "Should have completed on `x.upper() == y.`: %s",
663
+ Completion(15, 15, "upper"),
664
+ )
665
+ _(
666
+ "(x.upper() == y.",
667
+ 16,
668
+ ".upper",
669
+ "Should have completed on `(x.upper() == y.`: %s",
670
+ Completion(16, 16, "upper"),
671
+ )
672
+ _(
673
+ "(x.upper() == y).",
674
+ 17,
675
+ ".bit_length",
676
+ "Should have completed on `(x.upper() == y).`: %s",
677
+ Completion(17, 17, "bit_length"),
678
+ )
679
+ _(
680
+ "{'==', 'abc'}.",
681
+ 14,
682
+ ".add",
683
+ "Should have completed on `{'==', 'abc'}.`: %s",
684
+ Completion(14, 14, "add"),
685
+ )
686
+ _(
687
+ "b + c.",
688
+ 6,
689
+ ".hex",
690
+ "Should have completed on `b + c.`: %s",
691
+ Completion(6, 6, "hex"),
692
+ )
656
693
 
657
694
  def test_omit__names(self):
658
695
  # also happens to test IPCompleter as a configurable
@@ -16,8 +16,6 @@ from time import sleep
16
16
  from threading import Thread
17
17
  from subprocess import CalledProcessError
18
18
  from textwrap import dedent
19
- from time import sleep
20
- from threading import Thread
21
19
  from unittest import TestCase, mock
22
20
 
23
21
  import pytest
@@ -814,6 +812,16 @@ def test_timeit_invalid_return():
814
812
  with pytest.raises(SyntaxError):
815
813
  _ip.run_line_magic('timeit', 'return')
816
814
 
815
+ def test_timeit_raise_on_interrupt():
816
+ ip = get_ipython()
817
+
818
+ with pytest.raises(KeyboardInterrupt):
819
+ thread = Thread(target=_interrupt_after_1s)
820
+ thread.start()
821
+ ip.run_cell_magic("timeit", "", "from time import sleep; sleep(2)")
822
+ thread.join()
823
+
824
+
817
825
  @dec.skipif(execution.profile is None)
818
826
  def test_prun_special_syntax():
819
827
  "Test %%prun with IPython special syntax"
@@ -1542,6 +1550,16 @@ def test_timeit_arguments():
1542
1550
  _ip.run_line_magic("timeit", "-n1 -r1 a=('#')")
1543
1551
 
1544
1552
 
1553
+ def test_time_raise_on_interrupt():
1554
+ ip = get_ipython()
1555
+
1556
+ with pytest.raises(KeyboardInterrupt):
1557
+ thread = Thread(target=_interrupt_after_1s)
1558
+ thread.start()
1559
+ ip.run_cell_magic("time", "", "from time import sleep; sleep(2)")
1560
+ thread.join()
1561
+
1562
+
1545
1563
  MINIMAL_LAZY_MAGIC = """
1546
1564
  from IPython.core.magic import (
1547
1565
  Magics,
@@ -502,13 +502,16 @@ class TerminalInteractiveShell(InteractiveShell):
502
502
  elif provider == "NavigableAutoSuggestFromHistory":
503
503
  # LLM stuff are all Provisional in 8.32
504
504
  if self._llm_provider_class:
505
- llm_provider_constructor = import_item(self._llm_provider_class)
506
- llm_provider = llm_provider_constructor(**self.llm_constructor_kwargs)
505
+
506
+ def init_llm_provider():
507
+ llm_provider_constructor = import_item(self._llm_provider_class)
508
+ return llm_provider_constructor(**self.llm_constructor_kwargs)
509
+
507
510
  else:
508
- llm_provider = None
511
+ init_llm_provider = None
509
512
  self.auto_suggest = NavigableAutoSuggestFromHistory()
510
513
  # Provisinal in 8.32
511
- self.auto_suggest._llm_provider = llm_provider
514
+ self.auto_suggest._init_llm_provider = init_llm_provider
512
515
 
513
516
  name = self.llm_prefix_from_history
514
517
 
@@ -171,16 +171,19 @@ class NavigableAutoSuggestFromHistory(AutoSuggestFromHistory):
171
171
  # another request.
172
172
  _llm_task: asyncio.Task | None = None
173
173
 
174
- # This is the instance of the LLM provider from jupyter-ai to which we forward the request
175
- # to generate inline completions.
176
- _llm_provider: Any | None
177
- _llm_prefixer: callable = lambda self, x: "wrong"
174
+ # This is the constructor of the LLM provider from jupyter-ai
175
+ # to which we forward the request to generate inline completions.
176
+ _init_llm_provider: Callable | None
177
+
178
+ _llm_provider_instance: Any | None
179
+ _llm_prefixer: Callable = lambda self, x: "wrong"
178
180
 
179
181
  def __init__(self):
180
182
  super().__init__()
181
183
  self.skip_lines = 0
182
184
  self._connected_apps = []
183
- self._llm_provider = None
185
+ self._llm_provider_instance = None
186
+ self._init_llm_provider = None
184
187
  self._request_number = 0
185
188
 
186
189
  def reset_history_position(self, _: Buffer):
@@ -317,6 +320,16 @@ class NavigableAutoSuggestFromHistory(AutoSuggestFromHistory):
317
320
  "LLM task not cancelled, does your provider support cancellation?"
318
321
  )
319
322
 
323
+ @property
324
+ def _llm_provider(self):
325
+ """Lazy-initialized instance of the LLM provider.
326
+
327
+ Do not use in the constructor, as `_init_llm_provider` can trigger slow side-effects.
328
+ """
329
+ if self._llm_provider_instance is None and self._init_llm_provider:
330
+ self._llm_provider_instance = self._init_llm_provider()
331
+ return self._llm_provider_instance
332
+
320
333
  async def _trigger_llm(self, buffer) -> None:
321
334
  """
322
335
  This will ask the current llm provider a suggestion for the current buffer.
@@ -326,16 +339,13 @@ class NavigableAutoSuggestFromHistory(AutoSuggestFromHistory):
326
339
  # we likely want to store the current cursor position, and cancel if the cursor has moved.
327
340
  try:
328
341
  import jupyter_ai_magics
329
- import jupyter_ai.completions.models as jai_models
330
342
  except ModuleNotFoundError:
331
- jai_models = None
343
+ jupyter_ai_magics = None
332
344
  if not self._llm_provider:
333
345
  warnings.warn("No LLM provider found, cannot trigger LLM completions")
334
346
  return
335
- if jai_models is None:
336
- warnings.warn(
337
- "LLM Completion requires `jupyter_ai_magics` and `jupyter_ai` to be installed"
338
- )
347
+ if jupyter_ai_magics is None:
348
+ warnings.warn("LLM Completion requires `jupyter_ai_magics` to be installed")
339
349
 
340
350
  self._cancel_running_llm_task()
341
351
 
@@ -362,10 +372,10 @@ class NavigableAutoSuggestFromHistory(AutoSuggestFromHistory):
362
372
  provider to stream it's response back to us iteratively setting it as
363
373
  the suggestion on the current buffer.
364
374
 
365
- Unlike with JupyterAi, as we do not have multiple cell, the cell id
375
+ Unlike with JupyterAi, as we do not have multiple cells, the cell id
366
376
  is always set to `None`.
367
377
 
368
- We set the prefix to the current cell content, but could also inset the
378
+ We set the prefix to the current cell content, but could also insert the
369
379
  rest of the history or even just the non-fail history.
370
380
 
371
381
  In the same way, we do not have cell id.
@@ -378,21 +388,27 @@ class NavigableAutoSuggestFromHistory(AutoSuggestFromHistory):
378
388
  providers.
379
389
  """
380
390
  try:
381
- import jupyter_ai_magics
382
391
  import jupyter_ai.completions.models as jai_models
383
392
  except ModuleNotFoundError:
384
393
  jai_models = None
385
394
 
395
+ if not jai_models:
396
+ raise ValueError("jupyter-ai is not installed")
397
+
398
+ if not self._llm_provider:
399
+ raise ValueError("No LLM provider found, cannot trigger LLM completions")
400
+
386
401
  hm = buffer.history.shell.history_manager
387
402
  prefix = self._llm_prefixer(hm)
388
403
  get_ipython().log.debug("prefix: %s", prefix)
389
404
 
390
405
  self._request_number += 1
391
406
  request_number = self._request_number
407
+
392
408
  request = jai_models.InlineCompletionRequest(
393
409
  number=request_number,
394
- prefix=prefix + buffer.document.text,
395
- suffix="",
410
+ prefix=prefix + buffer.document.text_before_cursor,
411
+ suffix=buffer.document.text_after_cursor,
396
412
  mime="text/x-python",
397
413
  stream=True,
398
414
  path=None,
@@ -438,7 +454,7 @@ async def llm_autosuggestion(event: KeyPressEvent):
438
454
  doc = event.current_buffer.document
439
455
  lines_to_insert = max(0, _MIN_LINES - doc.line_count + doc.cursor_position_row)
440
456
  for _ in range(lines_to_insert):
441
- event.current_buffer.insert_text("\n", move_cursor=False)
457
+ event.current_buffer.insert_text("\n", move_cursor=False, fire_event=False)
442
458
 
443
459
  await provider._trigger_llm(event.current_buffer)
444
460
 
@@ -1,7 +1,8 @@
1
1
  import asyncio
2
+ from time import sleep
2
3
 
3
4
  try:
4
- from jupyter_ai_magics import BaseProvider
5
+ from jupyter_ai_magics.providers import BaseProvider
5
6
  from langchain_community.llms import FakeListLLM
6
7
  except ImportError:
7
8
 
@@ -42,7 +43,7 @@ class FibonacciCompletionProvider(BaseProvider, FakeListLLM): # type: ignore[mi
42
43
 
43
44
  assert request.number > 0
44
45
  token = f"t{request.number}s0"
45
- last_line = request.prefix.rstrip("\n").splitlines()[-1]
46
+ last_line = request.prefix.splitlines()[-1]
46
47
 
47
48
  if not FIBONACCI.startswith(last_line):
48
49
  return
@@ -87,3 +88,16 @@ class FibonacciCompletionProvider(BaseProvider, FakeListLLM): # type: ignore[mi
87
88
  reply_to=request_number,
88
89
  done=True,
89
90
  )
91
+
92
+
93
+ class SlowStartingCompletionProvider(BaseProvider, FakeListLLM): # type: ignore[misc, valid-type]
94
+ id = "slow_provider"
95
+ name = "Slow Provider"
96
+ model_id_key = "model"
97
+ models = ["model_a"]
98
+
99
+ def __init__(self, **kwargs):
100
+ kwargs["responses"] = ["This fake response will be used for completion"]
101
+ kwargs["model_id"] = "model_a"
102
+ sleep(10)
103
+ super().__init__(**kwargs)
@@ -1,4 +1,6 @@
1
1
  import pytest
2
+ import time
3
+ from IPython.terminal.interactiveshell import PtkHistoryAdapter
2
4
  from IPython.terminal.shortcuts.auto_suggest import (
3
5
  accept,
4
6
  accept_or_jump_to_end,
@@ -46,7 +48,7 @@ def make_event(text, cursor, suggestion):
46
48
  try:
47
49
  from .fake_llm import FIBONACCI
48
50
  except ImportError:
49
- FIBONACCI = None
51
+ FIBONACCI = ""
50
52
 
51
53
 
52
54
  @dec.skip_without("jupyter_ai")
@@ -56,13 +58,28 @@ async def test_llm_autosuggestion():
56
58
  ip = get_ipython()
57
59
  ip.auto_suggest = provider
58
60
  ip.llm_provider_class = "IPython.terminal.tests.fake_llm.FibonacciCompletionProvider"
61
+ ip.history_manager.get_range = Mock(return_value=[])
59
62
  text = "def fib"
60
- event = make_event(text, len(text), "")
61
- event.current_buffer.history.shell.history_manager.get_range = Mock(return_value=[])
63
+ event = Mock()
64
+ event.current_buffer = Buffer(
65
+ history=PtkHistoryAdapter(ip),
66
+ )
67
+ event.current_buffer.insert_text(text, move_cursor=True)
62
68
  await llm_autosuggestion(event)
63
69
  assert event.current_buffer.suggestion.text == FIBONACCI[len(text) :]
64
70
 
65
71
 
72
+ def test_slow_llm_provider_should_not_block_init():
73
+ ip = get_ipython()
74
+ provider = NavigableAutoSuggestFromHistory()
75
+ ip.auto_suggest = provider
76
+ start = time.perf_counter()
77
+ ip.llm_provider_class = "tests.fake_llm.SlowStartingCompletionProvider"
78
+ end = time.perf_counter()
79
+ elapsed = end - start
80
+ assert elapsed < 0.1
81
+
82
+
66
83
  @pytest.mark.parametrize(
67
84
  "text, suggestion, expected",
68
85
  [
@@ -1,2 +1,2 @@
1
1
  # GENERATED BY setup.py
2
- commit = "95686ec8b"
2
+ commit = "86a50d33a"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ipython
3
- Version: 8.35.0
3
+ Version: 8.37.0
4
4
  Summary: IPython: Productive Interactive Computing
5
5
  Author: The IPython Development Team
6
6
  Author-email: ipython-dev@python.org
@@ -15,8 +15,11 @@ Module: :mod:`core.compilerop`
15
15
 
16
16
  .. automethod:: __init__
17
17
 
18
- 1 Function
19
- ----------
18
+ 2 Functions
19
+ -----------
20
20
 
21
21
  .. autofunction:: IPython.core.compilerop.code_name
22
22
 
23
+
24
+ .. autofunction:: IPython.core.compilerop.check_linecache_ipython
25
+
@@ -55,9 +55,12 @@ Module: :mod:`core.completer`
55
55
 
56
56
  .. automethod:: __init__
57
57
 
58
- 16 Functions
58
+ 18 Functions
59
59
  ------------
60
60
 
61
+ .. autofunction:: IPython.core.completer.cast
62
+
63
+
61
64
  .. autofunction:: IPython.core.completer.provisionalcompleter
62
65
 
63
66
 
@@ -105,3 +108,6 @@ Module: :mod:`core.completer`
105
108
 
106
109
  .. autofunction:: IPython.core.completer.back_latex_name_matcher
107
110
 
111
+
112
+ .. autofunction:: IPython.core.completer.back_latex_name_matches
113
+
@@ -19,9 +19,12 @@ Module: :mod:`core.debugger`
19
19
  :members:
20
20
  :show-inheritance:
21
21
 
22
- 4 Functions
22
+ 5 Functions
23
23
  -----------
24
24
 
25
+ .. autofunction:: IPython.core.debugger.make_arrow
26
+
27
+
25
28
  .. autofunction:: IPython.core.debugger.BdbQuit_excepthook
26
29
 
27
30