ipython 9.0.0b1__tar.gz → 9.0.1__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.
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/debugger.py +15 -3
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/interactiveshell.py +7 -2
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/magic.py +3 -2
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/magics/code.py +1 -1
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/magics/execution.py +92 -69
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/release.py +3 -3
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/tips.py +29 -5
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/ultratb.py +32 -1
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/interactiveshell.py +6 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/ptutils.py +3 -2
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/_sysinfo.py +1 -1
- ipython-9.0.1/IPython/utils/coloransi.py +9 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/encoding.py +28 -10
- {ipython-9.0.0b1 → ipython-9.0.1}/PKG-INFO +1 -1
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/config/details.rst +22 -0
- ipython-9.0.1/docs/source/whatsnew/version9.rst +166 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/ipython.egg-info/PKG-INFO +1 -1
- {ipython-9.0.0b1 → ipython-9.0.1}/ipython.egg-info/SOURCES.txt +3 -0
- ipython-9.0.1/tests/__init__.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_embed.py +1 -1
- ipython-9.0.1/tests/test_tips.py +12 -0
- ipython-9.0.0b1/docs/source/whatsnew/version9.rst +0 -110
- {ipython-9.0.0b1 → ipython-9.0.1}/.flake8 +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/.mailmap +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/.pre-commit-config.yaml +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/COPYING.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/__init__.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/__main__.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/__init__.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/alias.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/application.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/async_helpers.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/autocall.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/builtin_trap.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/compilerop.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/completer.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/completerlib.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/crashhandler.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/display.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/display_functions.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/display_trap.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/displayhook.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/displaypub.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/doctb.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/error.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/events.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/extensions.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/formatters.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/getipython.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/guarded_eval.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/history.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/historyapp.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/hooks.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/inputtransformer2.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/latex_symbols.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/logger.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/macro.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/magic_arguments.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/magics/__init__.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/magics/ast_mod.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/magics/auto.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/magics/basic.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/magics/config.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/magics/display.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/magics/extension.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/magics/history.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/magics/logging.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/magics/namespace.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/magics/osm.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/magics/packaging.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/magics/pylab.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/magics/script.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/oinspect.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/page.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/payload.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/payloadpage.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/prefilter.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/profile/README_STARTUP +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/profileapp.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/profiledir.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/pylabtools.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/shellapp.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/splitinput.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/tbtools.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/core/usage.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/display.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/extensions/__init__.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/extensions/autoreload.py +0 -0
- {ipython-9.0.0b1/IPython/sphinxext → ipython-9.0.1/IPython/extensions/deduperreload}/__init__.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/extensions/deduperreload/deduperreload.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/extensions/deduperreload/deduperreload_patching.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/extensions/storemagic.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/extensions/tests/test_deduperreload.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/external/__init__.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/external/pickleshare.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/external/qt_for_kernel.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/external/qt_loaders.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/lib/__init__.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/lib/backgroundjobs.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/lib/clipboard.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/lib/deepreload.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/lib/demo.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/lib/display.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/lib/editorhooks.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/lib/guisupport.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/lib/latextools.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/lib/lexers.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/lib/pretty.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/paths.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/py.typed +0 -0
- {ipython-9.0.0b1/IPython/terminal → ipython-9.0.1/IPython/sphinxext}/__init__.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/sphinxext/custom_doctests.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/sphinxext/ipython_console_highlighting.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/sphinxext/ipython_directive.py +0 -0
- {ipython-9.0.0b1/IPython/testing/plugin → ipython-9.0.1/IPython/terminal}/__init__.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/debugger.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/embed.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/ipapp.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/magics.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/prompts.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/pt_inputhooks/__init__.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/pt_inputhooks/asyncio.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/pt_inputhooks/glut.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/pt_inputhooks/gtk.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/pt_inputhooks/gtk3.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/pt_inputhooks/gtk4.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/pt_inputhooks/osx.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/pt_inputhooks/pyglet.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/pt_inputhooks/qt.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/pt_inputhooks/tk.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/pt_inputhooks/wx.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/shortcuts/__init__.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/shortcuts/auto_match.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/shortcuts/auto_suggest.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/terminal/shortcuts/filters.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/testing/__init__.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/testing/decorators.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/testing/globalipapp.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/testing/ipunittest.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/testing/plugin/Makefile +0 -0
- {ipython-9.0.0b1/IPython/utils → ipython-9.0.1/IPython/testing/plugin}/__init__.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/testing/plugin/dtexample.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/testing/plugin/ipdoctest.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/testing/plugin/pytest_ipdoctest.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/testing/plugin/setup.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/testing/plugin/simple.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/testing/plugin/simplevars.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/testing/plugin/test_combo.txt +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/testing/plugin/test_example.txt +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/testing/plugin/test_exampleip.txt +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/testing/plugin/test_ipdoctest.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/testing/plugin/test_refs.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/testing/skipdoctest.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/testing/tools.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/PyColorize.py +0 -0
- {ipython-9.0.0b1/tests → ipython-9.0.1/IPython/utils}/__init__.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/_process_cli.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/_process_common.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/_process_emscripten.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/_process_posix.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/_process_win32.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/_process_win32_controller.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/capture.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/contexts.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/data.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/decorators.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/dir2.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/docs.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/eventful.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/frame.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/generics.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/importstring.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/io.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/ipstruct.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/jsonutil.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/log.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/module_paths.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/openpy.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/path.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/process.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/py3compat.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/sentinel.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/strdispatch.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/sysinfo.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/syspathcontext.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/tempdir.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/terminal.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/text.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/timing.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/tokenutil.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/IPython/utils/wildcard.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/LICENSE +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/MANIFEST.in +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/README.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/_build_meta.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/Makefile +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/README.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/autogen_api.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/autogen_config.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/autogen_magics.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/autogen_shortcuts.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/make.cmd +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/man/ipython.1 +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/requirements.txt +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/2.0/running-crop.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/2.0/running.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/2.0/treeview.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/2.0/user-interface.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/2.0/widgets.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/8.0/auto_suggest_1_prompt_no_text.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/8.0/auto_suggest_2_print_hello_suggest.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/8.0/auto_suggest_3_print_hello_suggest.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/8.0/auto_suggest_4_print_hello.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/8.0/auto_suggest_d_completions.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/8.0/auto_suggest_d_phantom.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/8.0/auto_suggest_def_completions.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/8.0/auto_suggest_def_phantom.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/8.0/auto_suggest_match_parens.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/8.0/auto_suggest_second_prompt.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/8.0/pathlib_pathlib_everywhere.jpg +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/autosuggest.gif +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/ipy_013_dashboard.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/ipy_013_dashboard_cluster.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/ipy_013_notebook_cythonmagic.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/ipy_013_notebook_long_out.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/ipy_013_notebook_octavemagic.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/ipy_013_notebook_rmagic.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/ipy_013_notebook_script_cells.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/ipy_013_notebook_spectrogram.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/ipy_013_notebook_tooltip.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/ipy_013_par_tb.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/ipy_013_qtconsole_baboon.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/ipy_013_qtconsole_completer.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/ipython-6-screenshot.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/jedi_type_inference_60.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/kernel_selector_screenshot.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/ms_visual_studio.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/notebook_specgram.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/ptshell_features.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/qtconsole.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/qtconsole_tabbed.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_images/unicode_completion.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_static/favicon.ico +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_static/logo.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_static/theme_overrides.css +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_templates/breadcrumbs.html +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/_templates/notebook_redirect.html +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/about/history.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/about/index.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/about/license_and_copyright.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/api/index.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/conf.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/config/callbacks.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/config/custommagics.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/config/eventloops.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/config/extensions/autoreload.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/config/extensions/index.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/config/extensions/storemagic.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/config/index.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/config/inputtransforms.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/config/integrating.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/config/intro.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/config/options/index.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/config/shell_mimerenderer.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/config/shortcuts/index.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/coredev/index.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/development/config.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/development/execution.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/development/figs/ipy_kernel_and_terminal.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/development/figs/ipy_kernel_and_terminal.svg +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/development/figs/other_kernels.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/development/figs/other_kernels.svg +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/development/how_ipython_works.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/development/index.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/development/inputhook_app.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/development/kernels.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/development/messaging.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/development/pycompat.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/development/wrapperkernels.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/index.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/install/index.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/install/install.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/install/kernel_install.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/interactive/autoawait.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/interactive/index.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/interactive/magics.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/interactive/plotting.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/interactive/python-ipython-diff.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/interactive/reference.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/interactive/shell.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/interactive/tips.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/interactive/tutorial.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/links.txt +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/overview.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/parallel/index.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/sphinx.toml +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/sphinxext.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/development.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/github-stats-0.11.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/github-stats-0.12.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/github-stats-0.13.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/github-stats-1.0.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/github-stats-2.0.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/github-stats-3.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/github-stats-4.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/github-stats-5.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/github-stats-6.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/github-stats-7.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/github-stats-8.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/index.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/pr/README.md +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/pr/antigravity-feature.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/pr/incompat-switching-to-perl.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/version0.10.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/version0.11.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/version0.12.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/version0.13.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/version0.8.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/version0.9.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/version1.0.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/version2.0.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/version3.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/version3_widget_migration.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/version4.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/version5.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/version6.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/version7.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/source/whatsnew/version8.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/sphinxext/apigen.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/sphinxext/configtraits.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/sphinxext/github.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/docs/sphinxext/magics.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/examples/Embedding/embed_class_long.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/examples/Embedding/embed_class_short.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/examples/Embedding/embed_function.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/examples/Embedding/start_ipython_config.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/examples/IPython Kernel/example-demo.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/examples/IPython Kernel/gui/gui-glut.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/examples/IPython Kernel/gui/gui-gtk4.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/examples/IPython Kernel/gui/gui-qt.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/examples/IPython Kernel/ipython-completion.bash +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/examples/IPython Kernel/ipython-get-history.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/examples/IPython Kernel/ipython.desktop +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/examples/auto_suggest_llm.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/examples/utils/cwd_prompt.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/examples/utils/list_pyfiles.ipy +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/examples/utils/list_subdirs.ipy +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/ipython.egg-info/dependency_links.txt +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/ipython.egg-info/entry_points.txt +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/ipython.egg-info/not-zip-safe +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/ipython.egg-info/requires.txt +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/ipython.egg-info/top_level.txt +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/long_description.rst +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/pyproject.toml +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/scripts/ipython.ico +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/scripts/ipython_nb.ico +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/setup.cfg +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/setup.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/setupbase.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/2x2.jpg +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/2x2.png +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/bad_all.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/conftest.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/cve.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/fake_ext_dir/daft_extension.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/nonascii.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/nonascii2.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/print_argv.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/refbug.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/simpleerr.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/tclass.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test.wav +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_alias.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_application.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_async_helpers.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_autocall.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_backgroundjobs.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_capture.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_clipboard.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_compilerop.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_completer.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_completerlib.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_debug_magic.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_debugger.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_decorators.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_decorators_2.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_deepreload.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_dir2.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_display.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_display_2.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_displayhook.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_editorhooks.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_events.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_exceptiongroup_tb.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_extension.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_formatters.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_guarded_eval.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_handlers.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_help.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_history.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_hooks.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_imports.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_importstring.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_inputtransformer2.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_inputtransformer2_line.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_interactiveshell.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_interactivshell.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_io.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_iplib.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_ipunittest.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_latextools.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_logger.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_magic.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_magic_arguments.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_magic_terminal.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_module_paths.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_oinspect.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_openpy.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_page.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_path.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_paths.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_prefilter.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_pretty.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_process.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_profile.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_pt_inputhooks.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_pycolorize.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_pylabtools.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_qt_loaders.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_run.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_shellapp.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_shortcuts.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_splitinput.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_storemagic.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_sysinfo.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_tempdir.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_text.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_tokenutil.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_tools.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_ultratb.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_wildcard.py +0 -0
- {ipython-9.0.0b1 → ipython-9.0.1}/tests/test_zzz_autoreload.py +0 -0
|
@@ -228,7 +228,12 @@ class Pdb(OldPdb):
|
|
|
228
228
|
}
|
|
229
229
|
|
|
230
230
|
def __init__(
|
|
231
|
-
self,
|
|
231
|
+
self,
|
|
232
|
+
completekey=None,
|
|
233
|
+
stdin=None,
|
|
234
|
+
stdout=None,
|
|
235
|
+
context: int | None | str = 5,
|
|
236
|
+
**kwargs,
|
|
232
237
|
):
|
|
233
238
|
"""Create a new IPython debugger.
|
|
234
239
|
|
|
@@ -251,7 +256,11 @@ class Pdb(OldPdb):
|
|
|
251
256
|
The possibilities are python version dependent, see the python
|
|
252
257
|
docs for more info.
|
|
253
258
|
"""
|
|
254
|
-
|
|
259
|
+
# ipdb issue, see https://github.com/ipython/ipython/issues/14811
|
|
260
|
+
if context is None:
|
|
261
|
+
context = 5
|
|
262
|
+
if isinstance(context, str):
|
|
263
|
+
context = int(context)
|
|
255
264
|
self.context = context
|
|
256
265
|
|
|
257
266
|
# `kwargs` ensures full compatibility with stdlib's `pdb.Pdb`.
|
|
@@ -298,7 +307,10 @@ class Pdb(OldPdb):
|
|
|
298
307
|
return self._context
|
|
299
308
|
|
|
300
309
|
@context.setter
|
|
301
|
-
def context(self, value: int) -> None:
|
|
310
|
+
def context(self, value: int | str) -> None:
|
|
311
|
+
# ipdb issue see https://github.com/ipython/ipython/issues/14811
|
|
312
|
+
if not isinstance(value, int):
|
|
313
|
+
value = int(value)
|
|
302
314
|
assert isinstance(value, int)
|
|
303
315
|
assert value >= 0
|
|
304
316
|
self._context = value
|
|
@@ -1002,7 +1002,7 @@ class InteractiveShell(SingletonConfigurable):
|
|
|
1002
1002
|
def show_banner(self, banner=None):
|
|
1003
1003
|
if banner is None:
|
|
1004
1004
|
banner = self.banner
|
|
1005
|
-
print(banner)
|
|
1005
|
+
print(banner, end="")
|
|
1006
1006
|
|
|
1007
1007
|
#-------------------------------------------------------------------------
|
|
1008
1008
|
# Things related to hooks
|
|
@@ -3029,7 +3029,12 @@ class InteractiveShell(SingletonConfigurable):
|
|
|
3029
3029
|
shell. It will both be affected by previous __future__ imports, and
|
|
3030
3030
|
any __future__ imports in the code will affect the shell. If False,
|
|
3031
3031
|
__future__ imports are not shared in either direction.
|
|
3032
|
-
|
|
3032
|
+
cell_id : str, optional
|
|
3033
|
+
A unique identifier for the cell. This is used in the messaging system
|
|
3034
|
+
to match output with execution requests and for tracking cell execution
|
|
3035
|
+
history across kernel restarts. In notebook contexts, this is typically
|
|
3036
|
+
a UUID generated by the frontend. If None, the kernel may generate an
|
|
3037
|
+
internal identifier or proceed without cell tracking capabilities.
|
|
3033
3038
|
Returns
|
|
3034
3039
|
-------
|
|
3035
3040
|
result : :class:`ExecutionResult`
|
|
@@ -672,10 +672,11 @@ class Magics(Configurable):
|
|
|
672
672
|
argv = arg_split(arg_str, posix, strict)
|
|
673
673
|
# Do regular option processing
|
|
674
674
|
try:
|
|
675
|
-
opts,args = getopt(argv, opt_str, long_opts)
|
|
675
|
+
opts, args = getopt(argv, opt_str, long_opts)
|
|
676
676
|
except GetoptError as e:
|
|
677
677
|
raise UsageError(
|
|
678
|
-
'%s (
|
|
678
|
+
'%s (allowed: "%s"%s)'
|
|
679
|
+
% (e.msg, opt_str, " ".join(("",) + long_opts) if long_opts else "")
|
|
679
680
|
) from e
|
|
680
681
|
for o, a in opts:
|
|
681
682
|
if mode == "string" and preserve_non_opts:
|
|
@@ -193,7 +193,7 @@ class CodeMagics(Magics):
|
|
|
193
193
|
|
|
194
194
|
-r: use 'raw' input. By default, the 'processed' history is used,
|
|
195
195
|
so that magics are loaded in their transformed version to valid
|
|
196
|
-
Python. If this option is given, the raw input as typed
|
|
196
|
+
Python. If this option is given, the raw input as typed at the
|
|
197
197
|
command line is used instead.
|
|
198
198
|
|
|
199
199
|
-f: force overwrite. If file exists, %save will prompt for overwrite
|
|
@@ -73,13 +73,22 @@ class TimeitResult:
|
|
|
73
73
|
"""
|
|
74
74
|
Object returned by the timeit magic with info about the run.
|
|
75
75
|
|
|
76
|
-
Contains the following attributes
|
|
76
|
+
Contains the following attributes:
|
|
77
77
|
|
|
78
|
-
loops:
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
78
|
+
loops: int
|
|
79
|
+
number of loops done per measurement
|
|
80
|
+
|
|
81
|
+
repeat: int
|
|
82
|
+
number of times the measurement was repeated
|
|
83
|
+
|
|
84
|
+
best: float
|
|
85
|
+
best execution time / number
|
|
86
|
+
|
|
87
|
+
all_runs : list[float]
|
|
88
|
+
execution time of each run (in s)
|
|
89
|
+
|
|
90
|
+
compile_time: float
|
|
91
|
+
time of statement compilation (s)
|
|
83
92
|
|
|
84
93
|
"""
|
|
85
94
|
def __init__(self, loops, repeat, best, worst, all_runs, compile_time, precision):
|
|
@@ -90,7 +99,7 @@ class TimeitResult:
|
|
|
90
99
|
self.all_runs = all_runs
|
|
91
100
|
self.compile_time = compile_time
|
|
92
101
|
self._precision = precision
|
|
93
|
-
self.timings = [
|
|
102
|
+
self.timings = [dt / self.loops for dt in all_runs]
|
|
94
103
|
|
|
95
104
|
@property
|
|
96
105
|
def average(self):
|
|
@@ -105,8 +114,8 @@ class TimeitResult:
|
|
|
105
114
|
pm = '+-'
|
|
106
115
|
if hasattr(sys.stdout, 'encoding') and sys.stdout.encoding:
|
|
107
116
|
try:
|
|
108
|
-
|
|
109
|
-
pm =
|
|
117
|
+
"\xb1".encode(sys.stdout.encoding)
|
|
118
|
+
pm = "\xb1"
|
|
110
119
|
except:
|
|
111
120
|
pass
|
|
112
121
|
return "{mean} {pm} {std} per loop (mean {pm} std. dev. of {runs} run{run_plural}, {loops:,} loop{loop_plural} each)".format(
|
|
@@ -121,7 +130,7 @@ class TimeitResult:
|
|
|
121
130
|
|
|
122
131
|
def _repr_pretty_(self, p , cycle):
|
|
123
132
|
unic = self.__str__()
|
|
124
|
-
p.text(
|
|
133
|
+
p.text("<TimeitResult : " + unic + ">")
|
|
125
134
|
|
|
126
135
|
|
|
127
136
|
class TimeitTemplateFiller(ast.NodeTransformer):
|
|
@@ -195,16 +204,14 @@ class ExecutionMagics(Magics):
|
|
|
195
204
|
|
|
196
205
|
"""Run a statement through the python code profiler.
|
|
197
206
|
|
|
198
|
-
**Usage, in line mode
|
|
207
|
+
**Usage, in line mode**::
|
|
199
208
|
|
|
200
209
|
%prun [options] statement
|
|
201
210
|
|
|
202
|
-
**Usage, in cell mode
|
|
211
|
+
**Usage, in cell mode**::
|
|
203
212
|
|
|
204
213
|
%%prun [options] [statement]
|
|
205
|
-
|
|
206
214
|
code...
|
|
207
|
-
|
|
208
215
|
code...
|
|
209
216
|
|
|
210
217
|
In cell mode, the additional code lines are appended to the (possibly
|
|
@@ -565,8 +572,8 @@ class ExecutionMagics(Magics):
|
|
|
565
572
|
sees its environment as if it were being run as a stand-alone program
|
|
566
573
|
(except for sharing global objects such as previously imported
|
|
567
574
|
modules). But after execution, the IPython interactive namespace gets
|
|
568
|
-
updated with all variables defined in the program (except for __name__
|
|
569
|
-
and sys.argv). This allows for very convenient loading of code for
|
|
575
|
+
updated with all variables defined in the program (except for ``__name__``
|
|
576
|
+
and ``sys.argv``). This allows for very convenient loading of code for
|
|
570
577
|
interactive work, while giving each program a 'clean sheet' to run in.
|
|
571
578
|
|
|
572
579
|
Arguments are expanded using shell-like glob match. Patterns
|
|
@@ -606,25 +613,25 @@ class ExecutionMagics(Magics):
|
|
|
606
613
|
time.clock(). Under Unix, an estimate of time spent on system tasks
|
|
607
614
|
is also given (for Windows platforms this is reported as 0.0).
|
|
608
615
|
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
616
|
+
If -t is given, an additional ``-N<N>`` option can be given, where <N>
|
|
617
|
+
must be an integer indicating how many times you want the script to
|
|
618
|
+
run. The final timing report will include total and per run results.
|
|
612
619
|
|
|
613
|
-
|
|
620
|
+
For example (testing the script uniq_stable.py)::
|
|
614
621
|
|
|
615
|
-
|
|
622
|
+
In [1]: run -t uniq_stable
|
|
616
623
|
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
624
|
+
IPython CPU timings (estimated):
|
|
625
|
+
User : 0.19597 s.
|
|
626
|
+
System: 0.0 s.
|
|
620
627
|
|
|
621
|
-
|
|
628
|
+
In [2]: run -t -N5 uniq_stable
|
|
622
629
|
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
630
|
+
IPython CPU timings (estimated):
|
|
631
|
+
Total runs performed: 5
|
|
632
|
+
Times : Total Per run
|
|
633
|
+
User : 0.910862 s, 0.1821724 s.
|
|
634
|
+
System: 0.0 s, 0.0 s.
|
|
628
635
|
|
|
629
636
|
-d
|
|
630
637
|
run your program under the control of pdb, the Python debugger.
|
|
@@ -1046,16 +1053,14 @@ class ExecutionMagics(Magics):
|
|
|
1046
1053
|
def timeit(self, line='', cell=None, local_ns=None):
|
|
1047
1054
|
"""Time execution of a Python statement or expression
|
|
1048
1055
|
|
|
1049
|
-
**Usage, in line mode
|
|
1056
|
+
**Usage, in line mode**::
|
|
1050
1057
|
|
|
1051
1058
|
%timeit [-n<N> -r<R> [-t|-c] -q -p<P> -o] statement
|
|
1052
1059
|
|
|
1053
|
-
**or in cell mode
|
|
1060
|
+
**or in cell mode**::
|
|
1054
1061
|
|
|
1055
1062
|
%%timeit [-n<N> -r<R> [-t|-c] -q -p<P> -o] setup_code
|
|
1056
|
-
|
|
1057
1063
|
code
|
|
1058
|
-
|
|
1059
1064
|
code...
|
|
1060
1065
|
|
|
1061
1066
|
Time execution of a Python statement or expression using the timeit
|
|
@@ -1070,27 +1075,34 @@ class ExecutionMagics(Magics):
|
|
|
1070
1075
|
|
|
1071
1076
|
Options:
|
|
1072
1077
|
|
|
1073
|
-
-n<N
|
|
1074
|
-
|
|
1078
|
+
-n<N>
|
|
1079
|
+
Execute the given statement N times in a loop. If N is not
|
|
1080
|
+
provided, N is determined so as to get sufficient accuracy.
|
|
1075
1081
|
|
|
1076
|
-
-r<R
|
|
1077
|
-
|
|
1078
|
-
|
|
1082
|
+
-r<R>
|
|
1083
|
+
Number of repeats R, each consisting of N loops, and take the
|
|
1084
|
+
average result.
|
|
1085
|
+
Default: 7
|
|
1079
1086
|
|
|
1080
|
-
-t
|
|
1081
|
-
|
|
1087
|
+
-t
|
|
1088
|
+
Use ``time.time`` to measure the time, which is the default on Unix.
|
|
1089
|
+
This function measures wall time.
|
|
1082
1090
|
|
|
1083
|
-
-c
|
|
1084
|
-
|
|
1085
|
-
|
|
1091
|
+
-c
|
|
1092
|
+
Use ``time.clock`` to measure the time, which is the default on
|
|
1093
|
+
Windows and measures wall time. On Unix, ``resource.getrusage`` is used
|
|
1094
|
+
instead and returns the CPU user time.
|
|
1086
1095
|
|
|
1087
|
-
-p<P
|
|
1088
|
-
|
|
1096
|
+
-p<P>
|
|
1097
|
+
Use a precision of P digits to display the timing result.
|
|
1098
|
+
Default: 3
|
|
1089
1099
|
|
|
1090
|
-
-q
|
|
1100
|
+
-q
|
|
1101
|
+
Quiet, do not print result.
|
|
1091
1102
|
|
|
1092
|
-
-o
|
|
1093
|
-
|
|
1103
|
+
-o
|
|
1104
|
+
Return a ``TimeitResult`` that can be stored in a variable to inspect
|
|
1105
|
+
the result in more details.
|
|
1094
1106
|
|
|
1095
1107
|
.. versionchanged:: 7.3
|
|
1096
1108
|
User variables are no longer expanded,
|
|
@@ -1114,13 +1126,13 @@ class ExecutionMagics(Magics):
|
|
|
1114
1126
|
|
|
1115
1127
|
In [6]: %timeit -n1 time.sleep(2)
|
|
1116
1128
|
|
|
1117
|
-
The times reported by
|
|
1129
|
+
The times reported by ``%timeit`` will be slightly higher than those
|
|
1118
1130
|
reported by the timeit.py script when variables are accessed. This is
|
|
1119
|
-
due to the fact that
|
|
1131
|
+
due to the fact that ``%timeit`` executes the statement in the namespace
|
|
1120
1132
|
of the shell, compared with timeit.py, which uses a single setup
|
|
1121
1133
|
statement to import function or create variables. Generally, the bias
|
|
1122
1134
|
does not matter as long as results from timeit.py are not mixed with
|
|
1123
|
-
those from
|
|
1135
|
+
those from ``%timeit``."""
|
|
1124
1136
|
|
|
1125
1137
|
opts, stmt = self.parse_options(
|
|
1126
1138
|
line, "n:r:tcp:qo", posix=False, strict=False, preserve_non_opts=True
|
|
@@ -1398,18 +1410,21 @@ class ExecutionMagics(Magics):
|
|
|
1398
1410
|
"""Define a macro for future re-execution. It accepts ranges of history,
|
|
1399
1411
|
filenames or string objects.
|
|
1400
1412
|
|
|
1401
|
-
Usage
|
|
1413
|
+
Usage::
|
|
1414
|
+
|
|
1402
1415
|
%macro [options] name n1-n2 n3-n4 ... n5 .. n6 ...
|
|
1403
1416
|
|
|
1404
1417
|
Options:
|
|
1405
1418
|
|
|
1406
|
-
|
|
1419
|
+
-r
|
|
1420
|
+
Use 'raw' input. By default, the 'processed' history is used,
|
|
1407
1421
|
so that magics are loaded in their transformed version to valid
|
|
1408
1422
|
Python. If this option is given, the raw input as typed at the
|
|
1409
1423
|
command line is used instead.
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1424
|
+
|
|
1425
|
+
-q
|
|
1426
|
+
Quiet macro definition. By default, a tag line is printed
|
|
1427
|
+
to indicate the macro has been created, and then the contents of
|
|
1413
1428
|
the macro are printed. If this option is given, then no printout
|
|
1414
1429
|
is produced once the macro is created.
|
|
1415
1430
|
|
|
@@ -1479,25 +1494,33 @@ class ExecutionMagics(Magics):
|
|
|
1479
1494
|
print(macro, end=" ")
|
|
1480
1495
|
|
|
1481
1496
|
@magic_arguments.magic_arguments()
|
|
1482
|
-
@magic_arguments.argument(
|
|
1483
|
-
|
|
1484
|
-
|
|
1497
|
+
@magic_arguments.argument(
|
|
1498
|
+
"output",
|
|
1499
|
+
type=str,
|
|
1500
|
+
default="",
|
|
1501
|
+
nargs="?",
|
|
1502
|
+
help="""
|
|
1503
|
+
|
|
1504
|
+
The name of the variable in which to store output.
|
|
1505
|
+
This is a ``utils.io.CapturedIO`` object with stdout/err attributes
|
|
1485
1506
|
for the text of the captured output.
|
|
1486
1507
|
|
|
1487
|
-
CapturedOutput also has a show() method for displaying the output,
|
|
1488
|
-
and __call__ as well, so you can use that to quickly display the
|
|
1508
|
+
CapturedOutput also has a ``show()`` method for displaying the output,
|
|
1509
|
+
and ``__call__`` as well, so you can use that to quickly display the
|
|
1489
1510
|
output.
|
|
1490
1511
|
|
|
1491
1512
|
If unspecified, captured output is discarded.
|
|
1492
|
-
"""
|
|
1513
|
+
""",
|
|
1493
1514
|
)
|
|
1494
|
-
@magic_arguments.argument(
|
|
1495
|
-
help="""Don't capture stderr."""
|
|
1515
|
+
@magic_arguments.argument(
|
|
1516
|
+
"--no-stderr", action="store_true", help="""Don't capture stderr."""
|
|
1496
1517
|
)
|
|
1497
|
-
@magic_arguments.argument(
|
|
1498
|
-
help="""Don't capture stdout."""
|
|
1518
|
+
@magic_arguments.argument(
|
|
1519
|
+
"--no-stdout", action="store_true", help="""Don't capture stdout."""
|
|
1499
1520
|
)
|
|
1500
|
-
@magic_arguments.argument(
|
|
1521
|
+
@magic_arguments.argument(
|
|
1522
|
+
"--no-display",
|
|
1523
|
+
action="store_true",
|
|
1501
1524
|
help="""Don't capture IPython's rich display."""
|
|
1502
1525
|
)
|
|
1503
1526
|
@cell_magic
|
|
@@ -1613,7 +1636,7 @@ def _format_time(timespan, precision=3):
|
|
|
1613
1636
|
value = int(leftover / length)
|
|
1614
1637
|
if value > 0:
|
|
1615
1638
|
leftover = leftover % length
|
|
1616
|
-
time.append(
|
|
1639
|
+
time.append("%s%s" % (str(value), suffix))
|
|
1617
1640
|
if leftover < 1:
|
|
1618
1641
|
break
|
|
1619
1642
|
return " ".join(time)
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
# version
|
|
18
18
|
_version_major = 9
|
|
19
19
|
_version_minor = 0
|
|
20
|
-
_version_patch =
|
|
20
|
+
_version_patch = 1
|
|
21
21
|
_version_extra = ".dev"
|
|
22
|
-
_version_extra = "
|
|
23
|
-
|
|
22
|
+
# _version_extra = "b2"
|
|
23
|
+
_version_extra = "" # Uncomment this for full releases
|
|
24
24
|
|
|
25
25
|
# Construct full version string from these.
|
|
26
26
|
_ver = [_version_major, _version_minor, _version_patch]
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from datetime import datetime
|
|
2
|
+
import os
|
|
2
3
|
from random import choice
|
|
3
4
|
from typing import Any
|
|
4
5
|
|
|
@@ -70,19 +71,42 @@ _tips: Any = {
|
|
|
70
71
|
"Run your doctests from within IPython for development and debugging. The special %doctest_mode command toggles a mode where the prompt, output and exceptions display matches as closely as possible that of the default Python interpreter.",
|
|
71
72
|
"You can use `files = !ls *.png`",
|
|
72
73
|
"Use the IPython.lib.demo.Demo class to load any Python script as an interactive demo.",
|
|
73
|
-
"Put a
|
|
74
|
+
"Put a ';' at the end of a line to suppress the printing of output.",
|
|
74
75
|
"You can use Ctrl-O to force a new line in terminal IPython",
|
|
75
76
|
"Use `object?` to see the help on `object`, `object??` to view it's source",
|
|
76
77
|
"`?` alone on a line will brings up IPython's help",
|
|
77
|
-
"You can use `%hist` to view history,
|
|
78
|
-
"You can change the edditing mode of IPython to behave more like vi, or emacs",
|
|
78
|
+
"You can use `%hist` to view history, see the options with `%history?`",
|
|
79
|
+
"You can change the edditing mode of IPython to behave more like vi, or emacs.",
|
|
79
80
|
"IPython 9.0+ have hooks to integrate AI/LLM completions.",
|
|
80
|
-
"You can use latex or unicode completion, `\\alpha<tab>` will insert the alpha symbol.",
|
|
81
|
-
"You can find how to type a symbol by back completing it `\\θ<tab>` will expand to `\\theta`.",
|
|
82
81
|
"Use `%timeit` or `%%timeit`, and the `-r`, `-n`, and `-o` options to easily profile your code.",
|
|
82
|
+
"Use `ipython --help-all | less` to view all the IPython configurations options.",
|
|
83
|
+
"Use `--theme`, or the `%colors` magic to change ipython themes and colors.",
|
|
84
|
+
"The `%timeit` magic has an `-o` flag, which returns the results, making it easy to plot. See `%timeit?`.",
|
|
83
85
|
],
|
|
84
86
|
}
|
|
85
87
|
|
|
88
|
+
if os.name == "nt":
|
|
89
|
+
_tips["random"].extend(
|
|
90
|
+
[
|
|
91
|
+
"We can't show you all tips on windows as sometime Unicode characters crash windows console, please help us debug it."
|
|
92
|
+
]
|
|
93
|
+
)
|
|
94
|
+
# unicode may crash windows console, so we filter out tips with non-ASCII characters.
|
|
95
|
+
_tips["every_year"] = {
|
|
96
|
+
k: v
|
|
97
|
+
for k, v in _tips["every_year"].items()
|
|
98
|
+
if all(ord(char) < 128 for char in v)
|
|
99
|
+
}
|
|
100
|
+
else:
|
|
101
|
+
_tips["random"].extend(
|
|
102
|
+
[
|
|
103
|
+
"You can use latex or unicode completion, `\\alpha<tab>` will insert the α symbol.",
|
|
104
|
+
"You can find how to type a latex symbol by back completing it `\\θ<tab>` will expand to `\\theta`.",
|
|
105
|
+
"You can find how to type a unicode symbol by back completing it `\\Ⅷ<tab>` will expand to `\\ROMAN NUMERAL EIGHT`.",
|
|
106
|
+
"IPython support combining unicode identifiers, F\\vec<tab> will become F⃗, usefull for physics equations. Play with \\dot \\ddot and others.",
|
|
107
|
+
]
|
|
108
|
+
)
|
|
109
|
+
|
|
86
110
|
|
|
87
111
|
def pick_tip() -> str:
|
|
88
112
|
current_date = datetime.now()
|
|
@@ -433,6 +433,10 @@ class ListTB(TBTools):
|
|
|
433
433
|
return "<unprintable %s object>" % type(value).__name__
|
|
434
434
|
|
|
435
435
|
|
|
436
|
+
_sentinel = object()
|
|
437
|
+
_default = "default"
|
|
438
|
+
|
|
439
|
+
|
|
436
440
|
# ----------------------------------------------------------------------------
|
|
437
441
|
class VerboseTB(TBTools):
|
|
438
442
|
"""A port of Ka-Ping Yee's cgitb.py module that outputs color text instead
|
|
@@ -450,7 +454,7 @@ class VerboseTB(TBTools):
|
|
|
450
454
|
def __init__(
|
|
451
455
|
self,
|
|
452
456
|
# TODO: no default ?
|
|
453
|
-
theme_name: str =
|
|
457
|
+
theme_name: str = _default,
|
|
454
458
|
call_pdb: bool = False,
|
|
455
459
|
ostream: Any = None,
|
|
456
460
|
tb_offset: int = 0,
|
|
@@ -458,6 +462,8 @@ class VerboseTB(TBTools):
|
|
|
458
462
|
include_vars: bool = True,
|
|
459
463
|
check_cache: Callable[[], None] | None = None,
|
|
460
464
|
debugger_cls: type | None = None,
|
|
465
|
+
*,
|
|
466
|
+
color_scheme: Any = _sentinel,
|
|
461
467
|
):
|
|
462
468
|
"""Specify traceback offset, headers and color scheme.
|
|
463
469
|
|
|
@@ -465,6 +471,31 @@ class VerboseTB(TBTools):
|
|
|
465
471
|
tb_offset=1 allows use of this handler in interpreters which will have
|
|
466
472
|
their own code at the top of the traceback (VerboseTB will first
|
|
467
473
|
remove that frame before printing the traceback info)."""
|
|
474
|
+
if color_scheme is not _sentinel:
|
|
475
|
+
assert isinstance(color_scheme, str)
|
|
476
|
+
theme_name = color_scheme.lower()
|
|
477
|
+
|
|
478
|
+
warnings.warn(
|
|
479
|
+
"color_scheme is deprecated as of IPython 9.0 and replaced by "
|
|
480
|
+
"theme_name (which should be lowercase). As you passed a "
|
|
481
|
+
"color_scheme value I will try to see if I have corresponding "
|
|
482
|
+
"theme.",
|
|
483
|
+
stacklevel=2,
|
|
484
|
+
category=DeprecationWarning,
|
|
485
|
+
)
|
|
486
|
+
|
|
487
|
+
if theme_name != _default:
|
|
488
|
+
warnings.warn(
|
|
489
|
+
"You passed both `theme_name` and `color_scheme` "
|
|
490
|
+
"(deprecated) to VerboseTB constructor. `theme_name` will "
|
|
491
|
+
"be ignored for the time being.",
|
|
492
|
+
stacklevel=2,
|
|
493
|
+
category=DeprecationWarning,
|
|
494
|
+
)
|
|
495
|
+
|
|
496
|
+
if theme_name == _default:
|
|
497
|
+
theme_name = "linux"
|
|
498
|
+
|
|
468
499
|
assert isinstance(theme_name, str)
|
|
469
500
|
super().__init__(
|
|
470
501
|
theme_name=theme_name,
|
|
@@ -1030,6 +1030,12 @@ class TerminalInteractiveShell(InteractiveShell):
|
|
|
1030
1030
|
|
|
1031
1031
|
_inputhook = None
|
|
1032
1032
|
def inputhook(self, context):
|
|
1033
|
+
warn(
|
|
1034
|
+
"inputkook seem unused, and marked for deprecation/Removal as of IPython 9.0. "
|
|
1035
|
+
"Please open an issue if you are using it.",
|
|
1036
|
+
category=PendingDeprecationWarning,
|
|
1037
|
+
stacklevel=2,
|
|
1038
|
+
)
|
|
1033
1039
|
if self._inputhook is not None:
|
|
1034
1040
|
self._inputhook(context)
|
|
1035
1041
|
|
|
@@ -169,6 +169,7 @@ class IPythonPTCompleter(Completer):
|
|
|
169
169
|
adjusted_text = _adjust_completion_text_based_on_context(
|
|
170
170
|
c.text, body, offset
|
|
171
171
|
)
|
|
172
|
+
min_elide = 30 if self.shell is None else self.shell.min_elide
|
|
172
173
|
if c.type == "function":
|
|
173
174
|
yield Completion(
|
|
174
175
|
adjusted_text,
|
|
@@ -176,7 +177,7 @@ class IPythonPTCompleter(Completer):
|
|
|
176
177
|
display=_elide(
|
|
177
178
|
display_text + "()",
|
|
178
179
|
body[c.start : c.end],
|
|
179
|
-
min_elide=
|
|
180
|
+
min_elide=min_elide,
|
|
180
181
|
),
|
|
181
182
|
display_meta=c.type + c.signature,
|
|
182
183
|
)
|
|
@@ -187,7 +188,7 @@ class IPythonPTCompleter(Completer):
|
|
|
187
188
|
display=_elide(
|
|
188
189
|
display_text,
|
|
189
190
|
body[c.start : c.end],
|
|
190
|
-
min_elide=
|
|
191
|
+
min_elide=min_elide,
|
|
191
192
|
),
|
|
192
193
|
display_meta=c.type,
|
|
193
194
|
)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# GENERATED BY setup.py
|
|
2
|
-
commit = "
|
|
2
|
+
commit = "d64897cf0"
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Deprecated/should be removed, but we break older version of ipyparallel
|
|
2
|
+
# https://github.com/ipython/ipyparallel/pull/924
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
# minimal subset of TermColors, removed from IPython
|
|
6
|
+
# not for public consumption, beyond ipyparallel.
|
|
7
|
+
class TermColors:
|
|
8
|
+
Normal = "\033[0m"
|
|
9
|
+
Red = "\033[0;31m"
|
|
@@ -3,20 +3,21 @@
|
|
|
3
3
|
Utilities for dealing with text encodings
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
# -----------------------------------------------------------------------------
|
|
7
7
|
# Copyright (C) 2008-2012 The IPython Development Team
|
|
8
8
|
#
|
|
9
9
|
# Distributed under the terms of the BSD License. The full license is in
|
|
10
10
|
# the file COPYING, distributed as part of this software.
|
|
11
|
-
|
|
11
|
+
# -----------------------------------------------------------------------------
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
# -----------------------------------------------------------------------------
|
|
14
14
|
# Imports
|
|
15
|
-
|
|
15
|
+
# -----------------------------------------------------------------------------
|
|
16
16
|
import sys
|
|
17
17
|
import locale
|
|
18
18
|
import warnings
|
|
19
19
|
|
|
20
|
+
|
|
20
21
|
# to deal with the possibility of sys.std* not being a stream at all
|
|
21
22
|
def get_stream_enc(stream, default=None):
|
|
22
23
|
"""Return the given stream's encoding or a default.
|
|
@@ -26,16 +27,20 @@ def get_stream_enc(stream, default=None):
|
|
|
26
27
|
a default if it doesn't exist or evaluates as False. ``default``
|
|
27
28
|
is None if not provided.
|
|
28
29
|
"""
|
|
29
|
-
if not hasattr(stream,
|
|
30
|
+
if not hasattr(stream, "encoding") or not stream.encoding:
|
|
30
31
|
return default
|
|
31
32
|
else:
|
|
32
33
|
return stream.encoding
|
|
33
34
|
|
|
35
|
+
|
|
36
|
+
_sentinel = object()
|
|
37
|
+
|
|
38
|
+
|
|
34
39
|
# Less conservative replacement for sys.getdefaultencoding, that will try
|
|
35
40
|
# to match the environment.
|
|
36
41
|
# Defined here as central function, so if we find better choices, we
|
|
37
42
|
# won't need to make changes all over IPython.
|
|
38
|
-
def getdefaultencoding(prefer_stream=
|
|
43
|
+
def getdefaultencoding(prefer_stream=_sentinel):
|
|
39
44
|
"""Return IPython's guess for the default encoding for bytes as text.
|
|
40
45
|
|
|
41
46
|
If prefer_stream is True (default), asks for stdin.encoding first,
|
|
@@ -46,10 +51,20 @@ def getdefaultencoding(prefer_stream=True):
|
|
|
46
51
|
and finally to sys.getdefaultencoding() which is the most conservative option,
|
|
47
52
|
and usually UTF8 as of Python 3.
|
|
48
53
|
"""
|
|
54
|
+
if prefer_stream is not _sentinel:
|
|
55
|
+
warnings.warn(
|
|
56
|
+
"getpreferredencoding(prefer_stream=) argument is deprecated since "
|
|
57
|
+
"IPython 9.0, getdefaultencoding() will take no argument in the "
|
|
58
|
+
"future. If you rely on `prefer_stream`, please open an issue on "
|
|
59
|
+
"the IPython repo.",
|
|
60
|
+
DeprecationWarning,
|
|
61
|
+
stacklevel=2,
|
|
62
|
+
)
|
|
63
|
+
prefer_stream = True
|
|
49
64
|
enc = None
|
|
50
65
|
if prefer_stream:
|
|
51
66
|
enc = get_stream_enc(sys.stdin)
|
|
52
|
-
if not enc or enc==
|
|
67
|
+
if not enc or enc == "ascii":
|
|
53
68
|
try:
|
|
54
69
|
# There are reports of getpreferredencoding raising errors
|
|
55
70
|
# in some cases, which may well be fixed, but let's be conservative here.
|
|
@@ -60,12 +75,15 @@ def getdefaultencoding(prefer_stream=True):
|
|
|
60
75
|
# On windows `cp0` can be returned to indicate that there is no code page.
|
|
61
76
|
# Since cp0 is an invalid encoding return instead cp1252 which is the
|
|
62
77
|
# Western European default.
|
|
63
|
-
if enc ==
|
|
78
|
+
if enc == "cp0":
|
|
64
79
|
warnings.warn(
|
|
65
80
|
"Invalid code page cp0 detected - using cp1252 instead."
|
|
66
81
|
"If cp1252 is incorrect please ensure a valid code page "
|
|
67
|
-
"is defined for the process.",
|
|
68
|
-
|
|
82
|
+
"is defined for the process.",
|
|
83
|
+
RuntimeWarning,
|
|
84
|
+
)
|
|
85
|
+
return "cp1252"
|
|
69
86
|
return enc
|
|
70
87
|
|
|
88
|
+
|
|
71
89
|
DEFAULT_ENCODING = getdefaultencoding()
|