ipython 8.24.0__tar.gz → 8.26.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.
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/async_helpers.py +0 -1
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/completerlib.py +7 -2
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/historyapp.py +5 -3
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/hooks.py +2 -2
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/inputsplitter.py +1 -1
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/interactiveshell.py +2 -2
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/logger.py +1 -1
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/magics/code.py +6 -6
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/magics/execution.py +12 -12
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/magics/history.py +1 -1
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/magics/namespace.py +1 -1
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/oinspect.py +2 -2
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/page.py +4 -4
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/prefilter.py +4 -4
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/profileapp.py +5 -2
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/pylabtools.py +27 -3
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/release.py +1 -1
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/shellapp.py +8 -4
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/splitinput.py +4 -4
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/tclass.py +1 -1
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_autocall.py +1 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_completer.py +11 -1
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_debugger.py +5 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_formatters.py +37 -22
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_inputsplitter.py +1 -1
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_interactiveshell.py +67 -47
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_magic.py +8 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_oinspect.py +21 -11
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_pylabtools.py +2 -4
- {ipython-8.24.0 → ipython-8.26.0}/IPython/extensions/storemagic.py +2 -2
- {ipython-8.24.0 → ipython-8.26.0}/IPython/extensions/tests/test_autoreload.py +1 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/lexers.py +2 -2
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/pretty.py +10 -2
- {ipython-8.24.0 → ipython-8.26.0}/IPython/sphinxext/ipython_directive.py +3 -3
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/interactiveshell.py +5 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/ipapp.py +1 -1
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/pt_inputhooks/asyncio.py +1 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/pt_inputhooks/glut.py +2 -2
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/pt_inputhooks/pyglet.py +2 -2
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/pt_inputhooks/wx.py +2 -2
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/decorators.py +7 -4
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/ipunittest.py +1 -1
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/plugin/ipdoctest.py +2 -2
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/plugin/pytest_ipdoctest.py +26 -10
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/tools.py +2 -2
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/_process_emscripten.py +0 -1
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/_sysinfo.py +1 -1
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/io.py +2 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/path.py +2 -2
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/strdispatch.py +1 -1
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tests/test_path.py +2 -2
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/text.py +41 -18
- {ipython-8.24.0/ipython.egg-info → ipython-8.26.0}/PKG-INFO +9 -7
- {ipython-8.24.0 → ipython-8.26.0}/README.rst +0 -52
- {ipython-8.24.0 → ipython-8.26.0}/docs/requirements.txt +1 -1
- ipython-8.26.0/docs/source/conf.py +273 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/config/intro.rst +3 -4
- ipython-8.26.0/docs/source/interactive/plotting.rst +81 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/interactive/reference.rst +18 -38
- ipython-8.26.0/docs/source/sphinx.toml +70 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/version8.rst +51 -1
- {ipython-8.24.0 → ipython-8.26.0/ipython.egg-info}/PKG-INFO +9 -7
- {ipython-8.24.0 → ipython-8.26.0}/ipython.egg-info/SOURCES.txt +3 -0
- {ipython-8.24.0 → ipython-8.26.0}/ipython.egg-info/requires.txt +10 -6
- {ipython-8.24.0 → ipython-8.26.0}/pyproject.toml +172 -6
- {ipython-8.24.0 → ipython-8.26.0}/setupbase.py +2 -2
- ipython-8.24.0/docs/source/conf.py +0 -337
- ipython-8.24.0/docs/source/interactive/plotting.rst +0 -67
- {ipython-8.24.0 → ipython-8.26.0}/.flake8 +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/.mailmap +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/.pre-commit-config.yaml +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/COPYING.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/__main__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/conftest.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/consoleapp.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/alias.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/application.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/autocall.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/builtin_trap.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/compilerop.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/completer.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/crashhandler.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/debugger.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/display.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/display_functions.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/display_trap.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/displayhook.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/displaypub.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/error.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/events.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/excolors.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/extensions.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/formatters.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/getipython.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/guarded_eval.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/history.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/inputtransformer.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/inputtransformer2.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/latex_symbols.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/macro.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/magic.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/magic_arguments.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/magics/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/magics/ast_mod.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/magics/auto.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/magics/basic.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/magics/config.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/magics/display.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/magics/extension.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/magics/logging.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/magics/osm.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/magics/packaging.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/magics/pylab.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/magics/script.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/payload.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/payloadpage.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/profile/README_STARTUP +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/profiledir.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/prompts.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/2x2.jpg +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/2x2.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/bad_all.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/daft_extension/daft_extension.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/nonascii.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/nonascii2.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/print_argv.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/refbug.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/simpleerr.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_alias.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_application.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_async_helpers.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_compilerop.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_completerlib.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_display.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_displayhook.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_events.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_exceptiongroup_tb.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_extension.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_guarded_eval.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_handlers.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_history.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_hooks.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_imports.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_inputtransformer.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_inputtransformer2.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_inputtransformer2_line.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_iplib.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_logger.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_magic_arguments.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_magic_terminal.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_page.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_paths.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_prefilter.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_profile.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_prompts.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_run.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_shellapp.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_splitinput.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/tests/test_ultratb.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/ultratb.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/core/usage.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/display.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/extensions/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/extensions/autoreload.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/extensions/tests/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/extensions/tests/test_storemagic.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/external/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/external/qt_for_kernel.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/external/qt_loaders.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/external/tests/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/external/tests/test_qt_loaders.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/backgroundjobs.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/clipboard.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/deepreload.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/demo.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/display.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/editorhooks.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/guisupport.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/latextools.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/tests/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/tests/test.wav +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/tests/test_backgroundjobs.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/tests/test_clipboard.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/tests/test_deepreload.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/tests/test_display.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/tests/test_editorhooks.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/tests/test_imports.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/tests/test_latextools.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/tests/test_lexers.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/tests/test_pretty.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/lib/tests/test_pygments.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/paths.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/py.typed +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/sphinxext/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/sphinxext/custom_doctests.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/sphinxext/ipython_console_highlighting.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/console.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/debugger.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/embed.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/magics.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/prompts.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/pt_inputhooks/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/pt_inputhooks/gtk.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/pt_inputhooks/gtk3.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/pt_inputhooks/gtk4.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/pt_inputhooks/osx.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/pt_inputhooks/qt.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/pt_inputhooks/tk.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/ptutils.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/shortcuts/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/shortcuts/auto_match.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/shortcuts/auto_suggest.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/shortcuts/filters.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/tests/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/tests/test_debug_magic.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/tests/test_embed.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/tests/test_help.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/tests/test_interactivshell.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/tests/test_pt_inputhooks.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/terminal/tests/test_shortcuts.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/globalipapp.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/plugin/Makefile +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/plugin/README.txt +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/plugin/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/plugin/dtexample.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/plugin/setup.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/plugin/simple.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/plugin/simplevars.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/plugin/test_combo.txt +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/plugin/test_example.txt +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/plugin/test_exampleip.txt +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/plugin/test_ipdoctest.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/plugin/test_refs.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/skipdoctest.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/tests/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/tests/test_decorators.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/tests/test_ipunittest.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/testing/tests/test_tools.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/tests/cve.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/PyColorize.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/_process_cli.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/_process_common.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/_process_posix.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/_process_win32.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/_process_win32_controller.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/capture.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/colorable.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/coloransi.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/contexts.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/daemonize.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/data.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/decorators.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/dir2.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/docs.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/encoding.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/eventful.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/frame.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/generics.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/importstring.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/ipstruct.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/jsonutil.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/localinterfaces.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/log.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/module_paths.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/openpy.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/process.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/py3compat.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/sentinel.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/shimmodule.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/signatures.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/sysinfo.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/syspathcontext.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tempdir.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/terminal.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tests/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tests/test_capture.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tests/test_decorators.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tests/test_deprecated.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tests/test_dir2.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tests/test_imports.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tests/test_importstring.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tests/test_io.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tests/test_module_paths.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tests/test_openpy.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tests/test_process.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tests/test_pycolorize.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tests/test_shimmodule.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tests/test_sysinfo.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tests/test_tempdir.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tests/test_text.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tests/test_tokenutil.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tests/test_wildcard.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/timing.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tokenutil.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/traitlets.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/tz.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/ulinecache.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/version.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/IPython/utils/wildcard.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/LICENSE +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/MANIFEST.in +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/_build_meta.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/Makefile +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/README.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/autogen_api.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/autogen_config.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/autogen_magics.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/autogen_shortcuts.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/make.cmd +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/man/ipython.1 +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/2.0/running-crop.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/2.0/running.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/2.0/treeview.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/2.0/user-interface.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/2.0/widgets.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/8.0/auto_suggest_1_prompt_no_text.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/8.0/auto_suggest_2_print_hello_suggest.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/8.0/auto_suggest_3_print_hello_suggest.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/8.0/auto_suggest_4_print_hello.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/8.0/auto_suggest_d_completions.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/8.0/auto_suggest_d_phantom.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/8.0/auto_suggest_def_completions.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/8.0/auto_suggest_def_phantom.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/8.0/auto_suggest_match_parens.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/8.0/auto_suggest_second_prompt.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/8.0/pathlib_pathlib_everywhere.jpg +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/autosuggest.gif +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/ipy_013_dashboard.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/ipy_013_dashboard_cluster.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/ipy_013_notebook_cythonmagic.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/ipy_013_notebook_long_out.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/ipy_013_notebook_octavemagic.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/ipy_013_notebook_rmagic.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/ipy_013_notebook_script_cells.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/ipy_013_notebook_spectrogram.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/ipy_013_notebook_tooltip.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/ipy_013_par_tb.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/ipy_013_qtconsole_baboon.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/ipy_013_qtconsole_completer.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/ipython-6-screenshot.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/jedi_type_inference_60.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/kernel_selector_screenshot.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/ms_visual_studio.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/notebook_specgram.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/ptshell_features.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/qtconsole.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/qtconsole_tabbed.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_images/unicode_completion.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_static/favicon.ico +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_static/logo.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_static/theme_overrides.css +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_templates/breadcrumbs.html +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/_templates/notebook_redirect.html +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/about/history.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/about/index.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/about/license_and_copyright.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/api/index.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/config/callbacks.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/config/custommagics.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/config/details.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/config/eventloops.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/config/extensions/autoreload.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/config/extensions/index.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/config/extensions/storemagic.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/config/index.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/config/inputtransforms.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/config/integrating.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/config/options/index.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/config/shell_mimerenderer.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/config/shortcuts/index.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/coredev/index.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/development/config.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/development/execution.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/development/figs/ipy_kernel_and_terminal.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/development/figs/ipy_kernel_and_terminal.svg +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/development/figs/other_kernels.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/development/figs/other_kernels.svg +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/development/how_ipython_works.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/development/index.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/development/inputhook_app.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/development/kernels.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/development/lexer.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/development/messaging.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/development/pycompat.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/development/wrapperkernels.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/index.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/install/index.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/install/install.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/install/kernel_install.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/interactive/autoawait.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/interactive/figs/besselj.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/interactive/figs/colors_dark.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/interactive/figs/jn.html +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/interactive/figs/jn.xhtml +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/interactive/index.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/interactive/magics.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/interactive/python-ipython-diff.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/interactive/shell.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/interactive/tips.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/interactive/tutorial.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/links.txt +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/overview.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/parallel/index.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/sphinxext.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/development.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/github-stats-0.11.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/github-stats-0.12.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/github-stats-0.13.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/github-stats-1.0.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/github-stats-2.0.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/github-stats-3.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/github-stats-4.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/github-stats-5.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/github-stats-6.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/github-stats-7.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/github-stats-8.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/index.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/pr/README.md +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/pr/antigravity-feature.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/pr/incompat-switching-to-perl.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/version0.10.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/version0.11.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/version0.12.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/version0.13.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/version0.8.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/version0.9.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/version1.0.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/version2.0.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/version3.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/version3_widget_migration.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/version4.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/version5.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/version6.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/source/whatsnew/version7.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/sphinxext/apigen.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/sphinxext/configtraits.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/sphinxext/github.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/docs/sphinxext/magics.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/Embedding/Index.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/Embedding/embed_class_long.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/Embedding/embed_class_short.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/Embedding/embed_function.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/Embedding/start_ipython_config.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/Animations Using clear_output.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/Background Jobs.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/Beyond Plain Python.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/Capturing Output.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/Cell Magics.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/Custom Display Logic.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/Importing Notebooks.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/Index.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/Plotting in the Notebook.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/Raw Input in the Notebook.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/Rich Output.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/Script Magics.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/SymPy.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/Terminal Usage.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/Third Party Rich Output.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/Trapezoid Rule.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/Updating Displays.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/Working With External Code.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/data/flare.json +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/example-demo.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/gui/gui-glut.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/gui/gui-gtk4.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/gui/gui-qt.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/ipython-completion.bash +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/ipython-get-history.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/ipython.desktop +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/nbpackage/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/nbpackage/mynotebook.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/nbpackage/nbs/__init__.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/IPython Kernel/nbpackage/nbs/other.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/Index.ipynb +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/images/FrontendKernel.graffle/data.plist +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/images/FrontendKernel.graffle/image1.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/images/FrontendKernel.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/images/animation.m4v +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/images/ipython_logo.png +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/images/python_logo.svg +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/utils/cwd_prompt.py +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/utils/list_pyfiles.ipy +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/examples/utils/list_subdirs.ipy +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/ipython.egg-info/dependency_links.txt +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/ipython.egg-info/entry_points.txt +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/ipython.egg-info/not-zip-safe +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/ipython.egg-info/top_level.txt +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/long_description.rst +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/scripts/ipython.ico +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/scripts/ipython_nb.ico +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/setup.cfg +0 -0
- {ipython-8.24.0 → ipython-8.26.0}/setup.py +0 -0
|
@@ -152,9 +152,14 @@ def get_root_modules():
|
|
|
152
152
|
return rootmodules
|
|
153
153
|
|
|
154
154
|
|
|
155
|
-
def is_importable(module, attr, only_modules):
|
|
155
|
+
def is_importable(module, attr: str, only_modules) -> bool:
|
|
156
156
|
if only_modules:
|
|
157
|
-
|
|
157
|
+
try:
|
|
158
|
+
mod = getattr(module, attr)
|
|
159
|
+
except ModuleNotFoundError:
|
|
160
|
+
# See gh-14434
|
|
161
|
+
return False
|
|
162
|
+
return inspect.ismodule(mod)
|
|
158
163
|
else:
|
|
159
164
|
return not(attr[:2] == '__' and attr[-2:] == '__')
|
|
160
165
|
|
|
@@ -146,9 +146,11 @@ class HistoryApp(Application):
|
|
|
146
146
|
|
|
147
147
|
def start(self):
|
|
148
148
|
if self.subapp is None:
|
|
149
|
-
print(
|
|
150
|
-
|
|
151
|
-
|
|
149
|
+
print(
|
|
150
|
+
"No subcommand specified. Must specify one of: "
|
|
151
|
+
+ ", ".join(map(repr, self.subcommands))
|
|
152
|
+
+ ".\n"
|
|
153
|
+
)
|
|
152
154
|
self.print_description()
|
|
153
155
|
self.print_subcommands()
|
|
154
156
|
self.exit(1)
|
|
@@ -19,7 +19,7 @@ example, you could use a startup file like this::
|
|
|
19
19
|
|
|
20
20
|
def calljed(self,filename, linenum):
|
|
21
21
|
"My editor hook calls the jed editor directly."
|
|
22
|
-
print
|
|
22
|
+
print("Calling my own editor, jed ...")
|
|
23
23
|
if os.system('jed +%d %s' % (linenum,filename)) != 0:
|
|
24
24
|
raise TryNext()
|
|
25
25
|
|
|
@@ -111,7 +111,7 @@ class CommandChainDispatcher:
|
|
|
111
111
|
TryNext"""
|
|
112
112
|
last_exc = TryNext()
|
|
113
113
|
for prio,cmd in self.chain:
|
|
114
|
-
#print
|
|
114
|
+
# print("prio",prio,"cmd",cmd) # dbg
|
|
115
115
|
try:
|
|
116
116
|
return cmd(*args, **kw)
|
|
117
117
|
except TryNext as exc:
|
|
@@ -320,7 +320,7 @@ class InputSplitter(object):
|
|
|
320
320
|
prompt = '>>> ' + indent
|
|
321
321
|
line = indent + raw_input(prompt)
|
|
322
322
|
isp.push(line)
|
|
323
|
-
print
|
|
323
|
+
print('Input source was:\n', isp.source_reset())
|
|
324
324
|
"""
|
|
325
325
|
# A cache for storing the current indentation
|
|
326
326
|
# The first value stores the most recently processed source input
|
|
@@ -909,7 +909,7 @@ class InteractiveShell(SingletonConfigurable):
|
|
|
909
909
|
paths = self.get_path_links(p)
|
|
910
910
|
|
|
911
911
|
# In Cygwin paths like "c:\..." and '\cygdrive\c\...' are possible
|
|
912
|
-
if p_venv.parts[1] == "cygdrive":
|
|
912
|
+
if len(p_venv.parts) > 2 and p_venv.parts[1] == "cygdrive":
|
|
913
913
|
drive_name = p_venv.parts[2]
|
|
914
914
|
p_venv = (drive_name + ":/") / Path(*p_venv.parts[3:])
|
|
915
915
|
|
|
@@ -2033,7 +2033,7 @@ class InteractiveShell(SingletonConfigurable):
|
|
|
2033
2033
|
print(self.InteractiveTB.stb2text(stb))
|
|
2034
2034
|
print("The original exception:")
|
|
2035
2035
|
stb = self.InteractiveTB.structured_traceback(
|
|
2036
|
-
|
|
2036
|
+
etype, value, tb, tb_offset=tb_offset
|
|
2037
2037
|
)
|
|
2038
2038
|
return stb
|
|
2039
2039
|
|
|
@@ -191,7 +191,7 @@ which already exists. But you must first start the logging process with
|
|
|
191
191
|
def log_write(self, data, kind='input'):
|
|
192
192
|
"""Write data to the log file, if active"""
|
|
193
193
|
|
|
194
|
-
#print
|
|
194
|
+
# print('data: %r' % data) # dbg
|
|
195
195
|
if self.log_active and data:
|
|
196
196
|
write = self.logfile.write
|
|
197
197
|
if kind=='input':
|
|
@@ -452,7 +452,7 @@ class CodeMagics(Magics):
|
|
|
452
452
|
# Load the parameter given as a variable. If not a string,
|
|
453
453
|
# process it as an object instead (below)
|
|
454
454
|
|
|
455
|
-
#print
|
|
455
|
+
# print('*** args',args,'type',type(args)) # dbg
|
|
456
456
|
data = eval(args, shell.user_ns)
|
|
457
457
|
if not isinstance(data, str):
|
|
458
458
|
raise DataIsObject
|
|
@@ -636,8 +636,8 @@ class CodeMagics(Magics):
|
|
|
636
636
|
|
|
637
637
|
In [1]: edit
|
|
638
638
|
Editing... done. Executing edited code...
|
|
639
|
-
Out[1]: 'def foo():\\n print
|
|
640
|
-
session"\\n'
|
|
639
|
+
Out[1]: 'def foo():\\n print("foo() was defined in an editing
|
|
640
|
+
session")\\n'
|
|
641
641
|
|
|
642
642
|
We can then call the function foo()::
|
|
643
643
|
|
|
@@ -661,21 +661,21 @@ class CodeMagics(Magics):
|
|
|
661
661
|
In [5]: edit
|
|
662
662
|
Editing... done. Executing edited code...
|
|
663
663
|
hello
|
|
664
|
-
Out[5]: "print
|
|
664
|
+
Out[5]: "print('hello')\\n"
|
|
665
665
|
|
|
666
666
|
Now we call it again with the previous output (stored in _)::
|
|
667
667
|
|
|
668
668
|
In [6]: edit _
|
|
669
669
|
Editing... done. Executing edited code...
|
|
670
670
|
hello world
|
|
671
|
-
Out[6]: "print
|
|
671
|
+
Out[6]: "print('hello world')\\n"
|
|
672
672
|
|
|
673
673
|
Now we call it with the output #8 (stored in _8, also as Out[8])::
|
|
674
674
|
|
|
675
675
|
In [7]: edit _8
|
|
676
676
|
Editing... done. Executing edited code...
|
|
677
677
|
hello again
|
|
678
|
-
Out[7]: "print
|
|
678
|
+
Out[7]: "print('hello again')\\n"
|
|
679
679
|
|
|
680
680
|
|
|
681
681
|
Changing the default editor hook:
|
|
@@ -1256,7 +1256,7 @@ class ExecutionMagics(Magics):
|
|
|
1256
1256
|
Wall time: 1.37
|
|
1257
1257
|
Out[3]: 499999500000L
|
|
1258
1258
|
|
|
1259
|
-
In [4]: %time print
|
|
1259
|
+
In [4]: %time print('hello world')
|
|
1260
1260
|
hello world
|
|
1261
1261
|
CPU times: user 0.00 s, sys: 0.00 s, total: 0.00 s
|
|
1262
1262
|
Wall time: 0.00
|
|
@@ -1406,9 +1406,9 @@ class ExecutionMagics(Magics):
|
|
|
1406
1406
|
44: x=1
|
|
1407
1407
|
45: y=3
|
|
1408
1408
|
46: z=x+y
|
|
1409
|
-
47: print
|
|
1409
|
+
47: print(x)
|
|
1410
1410
|
48: a=5
|
|
1411
|
-
49: print
|
|
1411
|
+
49: print('x',x,'y',y)
|
|
1412
1412
|
|
|
1413
1413
|
you can create a macro with lines 44 through 47 (included) and line 49
|
|
1414
1414
|
called my_macro with::
|
|
@@ -1428,7 +1428,7 @@ class ExecutionMagics(Magics):
|
|
|
1428
1428
|
|
|
1429
1429
|
You can view a macro's contents by explicitly printing it with::
|
|
1430
1430
|
|
|
1431
|
-
print
|
|
1431
|
+
print(macro_name)
|
|
1432
1432
|
|
|
1433
1433
|
"""
|
|
1434
1434
|
opts,args = self.parse_options(parameter_s,'rq',mode='list')
|
|
@@ -1439,7 +1439,7 @@ class ExecutionMagics(Magics):
|
|
|
1439
1439
|
"%macro insufficient args; usage '%macro name n1-n2 n3-4...")
|
|
1440
1440
|
name, codefrom = args[0], " ".join(args[1:])
|
|
1441
1441
|
|
|
1442
|
-
#print
|
|
1442
|
+
# print('rng',ranges) # dbg
|
|
1443
1443
|
try:
|
|
1444
1444
|
lines = self.shell.find_user_code(codefrom, 'r' in opts)
|
|
1445
1445
|
except (ValueError, TypeError) as e:
|
|
@@ -1592,17 +1592,17 @@ def _format_time(timespan, precision=3):
|
|
|
1592
1592
|
break
|
|
1593
1593
|
return " ".join(time)
|
|
1594
1594
|
|
|
1595
|
-
|
|
1596
|
-
# Unfortunately
|
|
1597
|
-
# certain terminals.
|
|
1595
|
+
|
|
1596
|
+
# Unfortunately characters outside of range(128) can cause problems in
|
|
1597
|
+
# certain terminals.
|
|
1598
1598
|
# See bug: https://bugs.launchpad.net/ipython/+bug/348466
|
|
1599
1599
|
# Try to prevent crashes by being more secure than it needs to
|
|
1600
1600
|
# E.g. eclipse is able to print a µ, but has no sys.stdout.encoding set.
|
|
1601
|
-
units = [
|
|
1602
|
-
if hasattr(sys.stdout,
|
|
1601
|
+
units = ["s", "ms", "us", "ns"] # the safe value
|
|
1602
|
+
if hasattr(sys.stdout, "encoding") and sys.stdout.encoding:
|
|
1603
1603
|
try:
|
|
1604
|
-
|
|
1605
|
-
units = [
|
|
1604
|
+
"μ".encode(sys.stdout.encoding)
|
|
1605
|
+
units = ["s", "ms", "μs", "ns"]
|
|
1606
1606
|
except:
|
|
1607
1607
|
pass
|
|
1608
1608
|
scaling = [1, 1e3, 1e6, 1e9]
|
|
@@ -43,7 +43,7 @@ class NamespaceMagics(Magics):
|
|
|
43
43
|
|
|
44
44
|
'%pinfo object' is just a synonym for object? or ?object."""
|
|
45
45
|
|
|
46
|
-
#print
|
|
46
|
+
# print('pinfo par: <%s>' % parameter_s) # dbg
|
|
47
47
|
# detail_level: 0 -> obj? , 1 -> obj??
|
|
48
48
|
detail_level = 0
|
|
49
49
|
# We need to detect if we got called as 'pinfo pinfo foo', which can
|
|
@@ -1196,7 +1196,7 @@ class Inspector(Colorable):
|
|
|
1196
1196
|
|
|
1197
1197
|
- list_types(False): list all available object types for object matching.
|
|
1198
1198
|
"""
|
|
1199
|
-
#print
|
|
1199
|
+
# print('ps pattern:<%r>' % pattern) # dbg
|
|
1200
1200
|
|
|
1201
1201
|
# defaults
|
|
1202
1202
|
type_pattern = 'all'
|
|
@@ -1225,7 +1225,7 @@ class Inspector(Colorable):
|
|
|
1225
1225
|
raise ValueError('invalid namespace <%s>. Valid names: %s' %
|
|
1226
1226
|
(name,ns_table.keys()))
|
|
1227
1227
|
|
|
1228
|
-
#print
|
|
1228
|
+
# print('type_pattern:',type_pattern) # dbg
|
|
1229
1229
|
search_result, namespaces_seen = set(), set()
|
|
1230
1230
|
for ns_name in ns_search:
|
|
1231
1231
|
ns = ns_table[ns_name]
|
|
@@ -122,8 +122,8 @@ def _detect_screen_size(screen_lines_def):
|
|
|
122
122
|
termios.tcsetattr(sys.stdout,termios.TCSANOW,term_flags)
|
|
123
123
|
# Now we have what we needed: the screen size in rows/columns
|
|
124
124
|
return screen_lines_real
|
|
125
|
-
#print
|
|
126
|
-
#screen_cols,'columns.'
|
|
125
|
+
# print('***Screen size:',screen_lines_real,'lines x',
|
|
126
|
+
# screen_cols,'columns.') # dbg
|
|
127
127
|
|
|
128
128
|
def pager_page(strng, start=0, screen_lines=0, pager_cmd=None):
|
|
129
129
|
"""Display a string, piping through a pager after a certain length.
|
|
@@ -179,9 +179,9 @@ def pager_page(strng, start=0, screen_lines=0, pager_cmd=None):
|
|
|
179
179
|
print(str_toprint)
|
|
180
180
|
return
|
|
181
181
|
|
|
182
|
-
#print
|
|
182
|
+
# print('numlines',numlines,'screenlines',screen_lines) # dbg
|
|
183
183
|
if numlines <= screen_lines :
|
|
184
|
-
#print
|
|
184
|
+
# print('*** normal print') # dbg
|
|
185
185
|
print(str_toprint)
|
|
186
186
|
else:
|
|
187
187
|
# Try to open pager and default to internal one if that fails.
|
|
@@ -240,7 +240,7 @@ class PrefilterManager(Configurable):
|
|
|
240
240
|
|
|
241
241
|
This implements the checker/handler part of the prefilter pipe.
|
|
242
242
|
"""
|
|
243
|
-
# print
|
|
243
|
+
# print("prefilter_line_info: ", line_info)
|
|
244
244
|
handler = self.find_handler(line_info)
|
|
245
245
|
return handler.handle(line_info)
|
|
246
246
|
|
|
@@ -267,7 +267,7 @@ class PrefilterManager(Configurable):
|
|
|
267
267
|
transformers and then the checkers/handlers.
|
|
268
268
|
"""
|
|
269
269
|
|
|
270
|
-
# print
|
|
270
|
+
# print("prefilter_line: ", line, continue_prompt)
|
|
271
271
|
# All handlers *must* return a value, even if it's blank ('').
|
|
272
272
|
|
|
273
273
|
# save the line away in case we crash, so the post-mortem handler can
|
|
@@ -300,7 +300,7 @@ class PrefilterManager(Configurable):
|
|
|
300
300
|
return normal_handler.handle(line_info)
|
|
301
301
|
|
|
302
302
|
prefiltered = self.prefilter_line_info(line_info)
|
|
303
|
-
# print
|
|
303
|
+
# print("prefiltered line: %r" % prefiltered)
|
|
304
304
|
return prefiltered
|
|
305
305
|
|
|
306
306
|
def prefilter_lines(self, lines, continue_prompt=False):
|
|
@@ -544,7 +544,7 @@ class PrefilterHandler(Configurable):
|
|
|
544
544
|
)
|
|
545
545
|
|
|
546
546
|
def handle(self, line_info):
|
|
547
|
-
# print
|
|
547
|
+
# print("normal: ", line_info)
|
|
548
548
|
"""Handle normal input lines. Use as a template for handlers."""
|
|
549
549
|
|
|
550
550
|
# With autoindent on, we need some way to exit the input loop, and I
|
|
@@ -303,8 +303,11 @@ class ProfileApp(Application):
|
|
|
303
303
|
|
|
304
304
|
def start(self):
|
|
305
305
|
if self.subapp is None:
|
|
306
|
-
print(
|
|
307
|
-
|
|
306
|
+
print(
|
|
307
|
+
"No subcommand specified. Must specify one of: "
|
|
308
|
+
+ ", ".join(map(repr, self.subcommands))
|
|
309
|
+
+ ".\n"
|
|
310
|
+
)
|
|
308
311
|
self.print_description()
|
|
309
312
|
self.print_subcommands()
|
|
310
313
|
self.exit(1)
|
|
@@ -14,7 +14,7 @@ from IPython.utils.decorators import flag_calls
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
# Matplotlib backend resolution functionality moved from IPython to Matplotlib
|
|
17
|
-
# in IPython 8.24 and Matplotlib 3.9.
|
|
17
|
+
# in IPython 8.24 and Matplotlib 3.9.0. Need to keep `backends` and `backend2gui`
|
|
18
18
|
# here for earlier Matplotlib and for external backend libraries such as
|
|
19
19
|
# mplcairo that might rely upon it.
|
|
20
20
|
_deprecated_backends = {
|
|
@@ -224,7 +224,7 @@ def mpl_runner(safe_execfile):
|
|
|
224
224
|
import matplotlib
|
|
225
225
|
import matplotlib.pyplot as plt
|
|
226
226
|
|
|
227
|
-
#print
|
|
227
|
+
# print('*** Matplotlib runner ***') # dbg
|
|
228
228
|
# turn off rendering until end of script
|
|
229
229
|
with matplotlib.rc_context({"interactive": False}):
|
|
230
230
|
safe_execfile(fname, *where, **kw)
|
|
@@ -345,8 +345,10 @@ def find_gui_and_backend(gui=None, gui_select=None):
|
|
|
345
345
|
backend = matplotlib.rcParamsOrig["backend"]
|
|
346
346
|
backend, gui = backend_registry.resolve_backend(backend)
|
|
347
347
|
else:
|
|
348
|
+
gui = _convert_gui_to_matplotlib(gui)
|
|
348
349
|
backend, gui = backend_registry.resolve_gui_or_backend(gui)
|
|
349
350
|
|
|
351
|
+
gui = _convert_gui_from_matplotlib(gui)
|
|
350
352
|
return gui, backend
|
|
351
353
|
|
|
352
354
|
# Fallback to previous behaviour (Matplotlib < 3.9)
|
|
@@ -485,6 +487,10 @@ def _matplotlib_manages_backends() -> bool:
|
|
|
485
487
|
matplotlib.backends.registry.backend_registry is available along with
|
|
486
488
|
member functions resolve_gui_or_backend, resolve_backend, list_all, and
|
|
487
489
|
list_gui_frameworks.
|
|
490
|
+
|
|
491
|
+
This function can be removed as it will always return True when Python
|
|
492
|
+
3.12, the latest version supported by Matplotlib < 3.9, reaches
|
|
493
|
+
end-of-life in late 2028.
|
|
488
494
|
"""
|
|
489
495
|
global _matplotlib_manages_backends_value
|
|
490
496
|
if _matplotlib_manages_backends_value is None:
|
|
@@ -509,10 +515,28 @@ def _list_matplotlib_backends_and_gui_loops() -> list[str]:
|
|
|
509
515
|
if _matplotlib_manages_backends():
|
|
510
516
|
from matplotlib.backends.registry import backend_registry
|
|
511
517
|
|
|
512
|
-
ret = backend_registry.list_all() +
|
|
518
|
+
ret = backend_registry.list_all() + [
|
|
519
|
+
_convert_gui_from_matplotlib(gui)
|
|
520
|
+
for gui in backend_registry.list_gui_frameworks()
|
|
521
|
+
]
|
|
513
522
|
else:
|
|
514
523
|
from IPython.core import pylabtools
|
|
515
524
|
|
|
516
525
|
ret = list(pylabtools.backends.keys())
|
|
517
526
|
|
|
518
527
|
return sorted(["auto"] + ret)
|
|
528
|
+
|
|
529
|
+
|
|
530
|
+
# Matplotlib and IPython do not always use the same gui framework name.
|
|
531
|
+
# Always use the approprate one of these conversion functions when passing a
|
|
532
|
+
# gui framework name to/from Matplotlib.
|
|
533
|
+
def _convert_gui_to_matplotlib(gui: str | None) -> str | None:
|
|
534
|
+
if gui and gui.lower() == "osx":
|
|
535
|
+
return "macosx"
|
|
536
|
+
return gui
|
|
537
|
+
|
|
538
|
+
|
|
539
|
+
def _convert_gui_from_matplotlib(gui: str | None) -> str | None:
|
|
540
|
+
if gui and gui.lower() == "macosx":
|
|
541
|
+
return "osx"
|
|
542
|
+
return gui
|
|
@@ -82,12 +82,14 @@ shell_flags['nosep']=(nosep_config, "Eliminate all spacing between prompts.")
|
|
|
82
82
|
shell_flags['pylab'] = (
|
|
83
83
|
{'InteractiveShellApp' : {'pylab' : 'auto'}},
|
|
84
84
|
"""Pre-load matplotlib and numpy for interactive use with
|
|
85
|
-
the default matplotlib backend.
|
|
85
|
+
the default matplotlib backend. The exact options available
|
|
86
|
+
depend on what Matplotlib provides at runtime.""",
|
|
86
87
|
)
|
|
87
88
|
shell_flags['matplotlib'] = (
|
|
88
89
|
{'InteractiveShellApp' : {'matplotlib' : 'auto'}},
|
|
89
90
|
"""Configure matplotlib for interactive use with
|
|
90
|
-
the default matplotlib backend.
|
|
91
|
+
the default matplotlib backend. The exact options available
|
|
92
|
+
depend on what Matplotlib provides at runtime.""",
|
|
91
93
|
)
|
|
92
94
|
|
|
93
95
|
# it's possible we don't want short aliases for *all* of these:
|
|
@@ -114,7 +116,7 @@ shell_aliases['cache-size'] = 'InteractiveShell.cache_size'
|
|
|
114
116
|
class MatplotlibBackendCaselessStrEnum(CaselessStrEnum):
|
|
115
117
|
"""An enum of Matplotlib backend strings where the case should be ignored.
|
|
116
118
|
|
|
117
|
-
Prior to Matplotlib 3.9.
|
|
119
|
+
Prior to Matplotlib 3.9.0 the list of valid backends is hardcoded in
|
|
118
120
|
pylabtools.backends. After that, Matplotlib manages backends.
|
|
119
121
|
|
|
120
122
|
The list of valid backends is determined when it is first needed to avoid
|
|
@@ -205,12 +207,14 @@ class InteractiveShellApp(Configurable):
|
|
|
205
207
|
matplotlib = MatplotlibBackendCaselessStrEnum(
|
|
206
208
|
allow_none=True,
|
|
207
209
|
help="""Configure matplotlib for interactive use with
|
|
208
|
-
the default matplotlib backend.
|
|
210
|
+
the default matplotlib backend. The exact options available
|
|
211
|
+
depend on what Matplotlib provides at runtime.""",
|
|
209
212
|
).tag(config=True)
|
|
210
213
|
pylab = MatplotlibBackendCaselessStrEnum(
|
|
211
214
|
allow_none=True,
|
|
212
215
|
help="""Pre-load matplotlib and numpy for interactive use,
|
|
213
216
|
selecting a particular matplotlib backend and loop integration.
|
|
217
|
+
The exact options available depend on what Matplotlib provides at runtime.
|
|
214
218
|
""",
|
|
215
219
|
).tag(config=True)
|
|
216
220
|
pylab_import_all = Bool(
|
|
@@ -63,19 +63,19 @@ def split_user_input(line, pattern=None):
|
|
|
63
63
|
pattern = line_split
|
|
64
64
|
match = pattern.match(line)
|
|
65
65
|
if not match:
|
|
66
|
-
# print
|
|
66
|
+
# print("match failed for line '%s'" % line)
|
|
67
67
|
try:
|
|
68
68
|
ifun, the_rest = line.split(None,1)
|
|
69
69
|
except ValueError:
|
|
70
|
-
# print
|
|
70
|
+
# print("split failed for line '%s'" % line)
|
|
71
71
|
ifun, the_rest = line, u''
|
|
72
72
|
pre = re.match(r'^(\s*)(.*)',line).groups()[0]
|
|
73
73
|
esc = ""
|
|
74
74
|
else:
|
|
75
75
|
pre, esc, ifun, the_rest = match.groups()
|
|
76
76
|
|
|
77
|
-
#print
|
|
78
|
-
#print
|
|
77
|
+
# print('line:<%s>' % line) # dbg
|
|
78
|
+
# print('pre <%s> ifun <%s> rest <%s>' % (pre,ifun.strip(),the_rest)) # dbg
|
|
79
79
|
return pre, esc or '', ifun.strip(), the_rest.lstrip()
|
|
80
80
|
|
|
81
81
|
|
|
@@ -26,7 +26,7 @@ else:
|
|
|
26
26
|
if name.startswith('C'):
|
|
27
27
|
c = C(name)
|
|
28
28
|
|
|
29
|
-
#print
|
|
29
|
+
# print("ARGV:", sys.argv, file=sys.stderr) # dbg
|
|
30
30
|
|
|
31
31
|
# This next print statement is NOT debugging, we're making the check on a
|
|
32
32
|
# completely separate process so we verify by capturing stdout:
|
|
@@ -5,6 +5,7 @@ directory, which we are removing. For now putting this here ensures at least
|
|
|
5
5
|
we do run the test, though ultimately this functionality should all be tested
|
|
6
6
|
with better-isolated tests that don't rely on the global instance in iptest.
|
|
7
7
|
"""
|
|
8
|
+
|
|
8
9
|
from IPython.core.splitinput import LineInfo
|
|
9
10
|
from IPython.core.prefilter import AutocallChecker
|
|
10
11
|
|
|
@@ -10,6 +10,9 @@ import sys
|
|
|
10
10
|
import textwrap
|
|
11
11
|
import unittest
|
|
12
12
|
|
|
13
|
+
from importlib.metadata import version
|
|
14
|
+
|
|
15
|
+
|
|
13
16
|
from contextlib import contextmanager
|
|
14
17
|
|
|
15
18
|
from traitlets.config.loader import Config
|
|
@@ -30,6 +33,9 @@ from IPython.core.completer import (
|
|
|
30
33
|
CompletionContext,
|
|
31
34
|
)
|
|
32
35
|
|
|
36
|
+
from packaging.version import parse
|
|
37
|
+
|
|
38
|
+
|
|
33
39
|
# -----------------------------------------------------------------------------
|
|
34
40
|
# Test functions
|
|
35
41
|
# -----------------------------------------------------------------------------
|
|
@@ -531,7 +537,11 @@ class TestCompleter(unittest.TestCase):
|
|
|
531
537
|
c = next(completions) # should be `%time` or similar
|
|
532
538
|
assert c.type == "magic", "Type of magic was not assigned by completer"
|
|
533
539
|
|
|
534
|
-
@pytest.mark.xfail(
|
|
540
|
+
@pytest.mark.xfail(
|
|
541
|
+
parse(version("jedi")) <= parse("0.18.0"),
|
|
542
|
+
reason="Known failure on jedi<=0.18.0",
|
|
543
|
+
strict=True,
|
|
544
|
+
)
|
|
535
545
|
def test_deduplicate_completions(self):
|
|
536
546
|
"""
|
|
537
547
|
Test that completions are correctly deduplicated (even if ranges are not the same)
|
|
@@ -447,6 +447,11 @@ def test_decorator_skip_disabled():
|
|
|
447
447
|
child.close()
|
|
448
448
|
|
|
449
449
|
|
|
450
|
+
@pytest.mark.xfail(
|
|
451
|
+
sys.version_info.releaselevel not in ("final", "candidate"),
|
|
452
|
+
reason="fails on 3.13.dev",
|
|
453
|
+
strict=True,
|
|
454
|
+
)
|
|
450
455
|
@pytest.mark.skipif(platform.python_implementation() == "PyPy", reason="issues on PyPy")
|
|
451
456
|
@skip_win32
|
|
452
457
|
def test_decorator_skip_with_breakpoint():
|