ipython 9.0.1__tar.gz → 9.0.2__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.1 → ipython-9.0.2}/IPython/core/inputtransformer2.py +3 -9
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/interactiveshell.py +11 -8
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/oinspect.py +7 -1
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/release.py +1 -1
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/tbtools.py +7 -1
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/tips.py +1 -1
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/pt_inputhooks/qt.py +3 -1
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/shortcuts/__init__.py +1 -1
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/PyColorize.py +8 -2
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/_sysinfo.py +1 -1
- {ipython-9.0.1 → ipython-9.0.2}/PKG-INFO +1 -1
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/config/intro.rst +3 -3
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/version9.rst +1 -1
- {ipython-9.0.1 → ipython-9.0.2}/examples/Embedding/start_ipython_config.py +1 -1
- {ipython-9.0.1 → ipython-9.0.2}/ipython.egg-info/PKG-INFO +1 -1
- {ipython-9.0.1 → ipython-9.0.2}/pyproject.toml +11 -1
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_inputtransformer2_line.py +25 -6
- {ipython-9.0.1 → ipython-9.0.2}/.flake8 +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/.mailmap +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/.pre-commit-config.yaml +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/COPYING.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/__init__.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/__main__.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/__init__.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/alias.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/application.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/async_helpers.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/autocall.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/builtin_trap.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/compilerop.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/completer.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/completerlib.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/crashhandler.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/debugger.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/display.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/display_functions.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/display_trap.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/displayhook.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/displaypub.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/doctb.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/error.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/events.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/extensions.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/formatters.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/getipython.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/guarded_eval.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/history.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/historyapp.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/hooks.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/latex_symbols.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/logger.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/macro.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/magic.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/magic_arguments.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/magics/__init__.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/magics/ast_mod.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/magics/auto.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/magics/basic.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/magics/code.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/magics/config.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/magics/display.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/magics/execution.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/magics/extension.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/magics/history.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/magics/logging.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/magics/namespace.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/magics/osm.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/magics/packaging.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/magics/pylab.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/magics/script.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/page.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/payload.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/payloadpage.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/prefilter.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/profile/README_STARTUP +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/profileapp.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/profiledir.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/pylabtools.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/shellapp.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/splitinput.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/ultratb.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/core/usage.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/display.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/extensions/__init__.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/extensions/autoreload.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/extensions/deduperreload/__init__.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/extensions/deduperreload/deduperreload.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/extensions/deduperreload/deduperreload_patching.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/extensions/storemagic.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/extensions/tests/test_deduperreload.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/external/__init__.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/external/pickleshare.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/external/qt_for_kernel.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/external/qt_loaders.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/lib/__init__.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/lib/backgroundjobs.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/lib/clipboard.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/lib/deepreload.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/lib/demo.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/lib/display.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/lib/editorhooks.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/lib/guisupport.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/lib/latextools.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/lib/lexers.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/lib/pretty.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/paths.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/py.typed +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/sphinxext/__init__.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/sphinxext/custom_doctests.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/sphinxext/ipython_console_highlighting.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/sphinxext/ipython_directive.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/__init__.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/debugger.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/embed.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/interactiveshell.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/ipapp.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/magics.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/prompts.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/pt_inputhooks/__init__.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/pt_inputhooks/asyncio.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/pt_inputhooks/glut.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/pt_inputhooks/gtk.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/pt_inputhooks/gtk3.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/pt_inputhooks/gtk4.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/pt_inputhooks/osx.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/pt_inputhooks/pyglet.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/pt_inputhooks/tk.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/pt_inputhooks/wx.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/ptutils.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/shortcuts/auto_match.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/shortcuts/auto_suggest.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/terminal/shortcuts/filters.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/testing/__init__.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/testing/decorators.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/testing/globalipapp.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/testing/ipunittest.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/testing/plugin/Makefile +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/testing/plugin/__init__.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/testing/plugin/dtexample.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/testing/plugin/ipdoctest.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/testing/plugin/pytest_ipdoctest.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/testing/plugin/setup.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/testing/plugin/simple.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/testing/plugin/simplevars.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/testing/plugin/test_combo.txt +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/testing/plugin/test_example.txt +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/testing/plugin/test_exampleip.txt +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/testing/plugin/test_ipdoctest.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/testing/plugin/test_refs.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/testing/skipdoctest.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/testing/tools.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/__init__.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/_process_cli.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/_process_common.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/_process_emscripten.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/_process_posix.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/_process_win32.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/_process_win32_controller.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/capture.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/coloransi.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/contexts.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/data.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/decorators.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/dir2.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/docs.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/encoding.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/eventful.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/frame.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/generics.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/importstring.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/io.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/ipstruct.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/jsonutil.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/log.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/module_paths.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/openpy.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/path.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/process.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/py3compat.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/sentinel.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/strdispatch.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/sysinfo.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/syspathcontext.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/tempdir.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/terminal.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/text.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/timing.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/tokenutil.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/IPython/utils/wildcard.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/LICENSE +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/MANIFEST.in +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/README.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/_build_meta.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/Makefile +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/README.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/autogen_api.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/autogen_config.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/autogen_magics.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/autogen_shortcuts.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/make.cmd +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/man/ipython.1 +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/requirements.txt +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/2.0/running-crop.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/2.0/running.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/2.0/treeview.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/2.0/user-interface.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/2.0/widgets.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/8.0/auto_suggest_1_prompt_no_text.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/8.0/auto_suggest_2_print_hello_suggest.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/8.0/auto_suggest_3_print_hello_suggest.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/8.0/auto_suggest_4_print_hello.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/8.0/auto_suggest_d_completions.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/8.0/auto_suggest_d_phantom.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/8.0/auto_suggest_def_completions.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/8.0/auto_suggest_def_phantom.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/8.0/auto_suggest_match_parens.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/8.0/auto_suggest_second_prompt.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/8.0/pathlib_pathlib_everywhere.jpg +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/autosuggest.gif +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/ipy_013_dashboard.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/ipy_013_dashboard_cluster.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/ipy_013_notebook_cythonmagic.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/ipy_013_notebook_long_out.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/ipy_013_notebook_octavemagic.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/ipy_013_notebook_rmagic.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/ipy_013_notebook_script_cells.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/ipy_013_notebook_spectrogram.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/ipy_013_notebook_tooltip.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/ipy_013_par_tb.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/ipy_013_qtconsole_baboon.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/ipy_013_qtconsole_completer.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/ipython-6-screenshot.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/jedi_type_inference_60.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/kernel_selector_screenshot.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/ms_visual_studio.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/notebook_specgram.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/ptshell_features.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/qtconsole.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/qtconsole_tabbed.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_images/unicode_completion.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_static/favicon.ico +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_static/logo.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_static/theme_overrides.css +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_templates/breadcrumbs.html +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/_templates/notebook_redirect.html +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/about/history.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/about/index.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/about/license_and_copyright.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/api/index.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/conf.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/config/callbacks.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/config/custommagics.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/config/details.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/config/eventloops.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/config/extensions/autoreload.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/config/extensions/index.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/config/extensions/storemagic.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/config/index.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/config/inputtransforms.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/config/integrating.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/config/options/index.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/config/shell_mimerenderer.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/config/shortcuts/index.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/coredev/index.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/development/config.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/development/execution.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/development/figs/ipy_kernel_and_terminal.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/development/figs/ipy_kernel_and_terminal.svg +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/development/figs/other_kernels.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/development/figs/other_kernels.svg +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/development/how_ipython_works.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/development/index.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/development/inputhook_app.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/development/kernels.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/development/messaging.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/development/pycompat.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/development/wrapperkernels.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/index.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/install/index.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/install/install.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/install/kernel_install.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/interactive/autoawait.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/interactive/index.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/interactive/magics.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/interactive/plotting.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/interactive/python-ipython-diff.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/interactive/reference.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/interactive/shell.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/interactive/tips.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/interactive/tutorial.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/links.txt +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/overview.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/parallel/index.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/sphinx.toml +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/sphinxext.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/development.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/github-stats-0.11.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/github-stats-0.12.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/github-stats-0.13.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/github-stats-1.0.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/github-stats-2.0.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/github-stats-3.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/github-stats-4.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/github-stats-5.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/github-stats-6.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/github-stats-7.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/github-stats-8.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/index.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/pr/README.md +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/pr/antigravity-feature.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/pr/incompat-switching-to-perl.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/version0.10.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/version0.11.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/version0.12.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/version0.13.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/version0.8.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/version0.9.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/version1.0.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/version2.0.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/version3.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/version3_widget_migration.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/version4.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/version5.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/version6.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/version7.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/source/whatsnew/version8.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/sphinxext/apigen.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/sphinxext/configtraits.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/sphinxext/github.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/docs/sphinxext/magics.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/examples/Embedding/embed_class_long.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/examples/Embedding/embed_class_short.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/examples/Embedding/embed_function.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/examples/IPython Kernel/example-demo.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/examples/IPython Kernel/gui/gui-glut.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/examples/IPython Kernel/gui/gui-gtk4.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/examples/IPython Kernel/gui/gui-qt.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/examples/IPython Kernel/ipython-completion.bash +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/examples/IPython Kernel/ipython-get-history.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/examples/IPython Kernel/ipython.desktop +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/examples/auto_suggest_llm.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/examples/utils/cwd_prompt.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/examples/utils/list_pyfiles.ipy +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/examples/utils/list_subdirs.ipy +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/ipython.egg-info/SOURCES.txt +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/ipython.egg-info/dependency_links.txt +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/ipython.egg-info/entry_points.txt +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/ipython.egg-info/not-zip-safe +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/ipython.egg-info/requires.txt +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/ipython.egg-info/top_level.txt +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/long_description.rst +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/scripts/ipython.ico +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/scripts/ipython_nb.ico +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/setup.cfg +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/setup.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/setupbase.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/2x2.jpg +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/2x2.png +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/__init__.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/bad_all.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/conftest.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/cve.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/fake_ext_dir/daft_extension.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/nonascii.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/nonascii2.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/print_argv.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/refbug.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/simpleerr.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/tclass.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test.wav +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_alias.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_application.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_async_helpers.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_autocall.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_backgroundjobs.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_capture.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_clipboard.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_compilerop.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_completer.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_completerlib.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_debug_magic.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_debugger.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_decorators.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_decorators_2.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_deepreload.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_dir2.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_display.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_display_2.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_displayhook.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_editorhooks.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_embed.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_events.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_exceptiongroup_tb.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_extension.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_formatters.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_guarded_eval.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_handlers.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_help.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_history.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_hooks.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_imports.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_importstring.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_inputtransformer2.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_interactiveshell.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_interactivshell.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_io.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_iplib.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_ipunittest.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_latextools.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_logger.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_magic.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_magic_arguments.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_magic_terminal.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_module_paths.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_oinspect.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_openpy.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_page.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_path.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_paths.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_prefilter.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_pretty.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_process.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_profile.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_pt_inputhooks.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_pycolorize.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_pylabtools.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_qt_loaders.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_run.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_shellapp.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_shortcuts.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_splitinput.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_storemagic.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_sysinfo.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_tempdir.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_text.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_tips.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_tokenutil.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_tools.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_ultratb.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_wildcard.py +0 -0
- {ipython-9.0.1 → ipython-9.0.2}/tests/test_zzz_autoreload.py +0 -0
|
@@ -17,6 +17,7 @@ import sys
|
|
|
17
17
|
import tokenize
|
|
18
18
|
from typing import List, Tuple, Optional, Any
|
|
19
19
|
import warnings
|
|
20
|
+
from textwrap import dedent
|
|
20
21
|
|
|
21
22
|
from IPython.utils import tokenutil
|
|
22
23
|
|
|
@@ -38,18 +39,11 @@ def leading_empty_lines(lines):
|
|
|
38
39
|
def leading_indent(lines):
|
|
39
40
|
"""Remove leading indentation.
|
|
40
41
|
|
|
41
|
-
|
|
42
|
-
removed from each following line in the cell.
|
|
42
|
+
Removes the minimum common leading indentation from all lines.
|
|
43
43
|
"""
|
|
44
44
|
if not lines:
|
|
45
45
|
return lines
|
|
46
|
-
|
|
47
|
-
if not m or lines[0].strip().startswith("#"):
|
|
48
|
-
return lines
|
|
49
|
-
space = m.group(0)
|
|
50
|
-
n = len(space)
|
|
51
|
-
return [l[n:] if l.startswith(space) else l
|
|
52
|
-
for l in lines]
|
|
46
|
+
return dedent("".join(lines)).splitlines(keepends=True)
|
|
53
47
|
|
|
54
48
|
class PromptStripper:
|
|
55
49
|
"""Remove matching input prompts from a block of input.
|
|
@@ -329,6 +329,7 @@ class InteractiveShell(SingletonConfigurable):
|
|
|
329
329
|
|
|
330
330
|
_instance = None
|
|
331
331
|
_user_ns: dict
|
|
332
|
+
_sys_modules_keys: set[str, AnyType]
|
|
332
333
|
|
|
333
334
|
inspector: oinspect.Inspector
|
|
334
335
|
|
|
@@ -764,7 +765,9 @@ class InteractiveShell(SingletonConfigurable):
|
|
|
764
765
|
if not new == new.lower():
|
|
765
766
|
warn(
|
|
766
767
|
f"`TerminalInteractiveShell.colors` is now lowercase: `{new.lower()}`,"
|
|
767
|
-
" non lowercase, may invalid in the future."
|
|
768
|
+
" non lowercase, may be invalid in the future.",
|
|
769
|
+
DeprecationWarning,
|
|
770
|
+
stacklevel=2,
|
|
768
771
|
)
|
|
769
772
|
return new.lower()
|
|
770
773
|
|
|
@@ -781,7 +784,8 @@ class InteractiveShell(SingletonConfigurable):
|
|
|
781
784
|
)
|
|
782
785
|
|
|
783
786
|
try:
|
|
784
|
-
|
|
787
|
+
# Deprecation in 9.0, colors should always be lower
|
|
788
|
+
self.inspector.set_theme_name(self.colors.lower())
|
|
785
789
|
except Exception:
|
|
786
790
|
warn(
|
|
787
791
|
"Error changing object inspector color schemes.\n%s"
|
|
@@ -804,20 +808,19 @@ class InteractiveShell(SingletonConfigurable):
|
|
|
804
808
|
|
|
805
809
|
self.dir_stack = []
|
|
806
810
|
|
|
807
|
-
def init_logger(self):
|
|
811
|
+
def init_logger(self) -> None:
|
|
808
812
|
self.logger = Logger(self.home_dir, logfname='ipython_log.py',
|
|
809
813
|
logmode='rotate')
|
|
810
814
|
|
|
811
|
-
def init_logstart(self):
|
|
815
|
+
def init_logstart(self) -> None:
|
|
812
816
|
"""Initialize logging in case it was requested at the command line.
|
|
813
817
|
"""
|
|
814
818
|
if self.logappend:
|
|
815
|
-
self.
|
|
819
|
+
self.run_line_magic("logstart", f"{self.logappend} append")
|
|
816
820
|
elif self.logfile:
|
|
817
|
-
self.
|
|
821
|
+
self.run_line_magic("logstart", self.logfile)
|
|
818
822
|
elif self.logstart:
|
|
819
|
-
self.
|
|
820
|
-
|
|
823
|
+
self.run_line_magic("logstart", "")
|
|
821
824
|
|
|
822
825
|
def init_builtins(self):
|
|
823
826
|
# A single, static flag that we set to True. Its presence indicates
|
|
@@ -401,7 +401,13 @@ class Inspector(Configurable):
|
|
|
401
401
|
parent=None,
|
|
402
402
|
config=None,
|
|
403
403
|
):
|
|
404
|
-
|
|
404
|
+
if theme_name in ["Linux", "LightBG", "Neutral", "NoColor"]:
|
|
405
|
+
warnings.warn(
|
|
406
|
+
f"Theme names and color schemes are lowercase in IPython 9.0 use {theme_name.lower()} instead",
|
|
407
|
+
DeprecationWarning,
|
|
408
|
+
stacklevel=2,
|
|
409
|
+
)
|
|
410
|
+
theme_name = theme_name.lower()
|
|
405
411
|
self._theme_name = theme_name
|
|
406
412
|
super(Inspector, self).__init__(parent=parent, config=config)
|
|
407
413
|
self.parser = PyColorize.Parser(out="str", theme_name=theme_name)
|
|
@@ -401,7 +401,13 @@ class TBTools:
|
|
|
401
401
|
stacklevel=2,
|
|
402
402
|
)
|
|
403
403
|
theme_name = color_scheme
|
|
404
|
-
|
|
404
|
+
if theme_name in ["Linux", "LightBG", "Neutral", "NoColor"]:
|
|
405
|
+
warnings.warn(
|
|
406
|
+
f"Theme names and color schemes are lowercase in IPython 9.0 use {theme_name.lower()} instead",
|
|
407
|
+
DeprecationWarning,
|
|
408
|
+
stacklevel=2,
|
|
409
|
+
)
|
|
410
|
+
theme_name = theme_name.lower()
|
|
405
411
|
# Whether to call the interactive pdb debugger after printing
|
|
406
412
|
# tracebacks or not
|
|
407
413
|
super().__init__()
|
|
@@ -76,7 +76,7 @@ _tips: Any = {
|
|
|
76
76
|
"Use `object?` to see the help on `object`, `object??` to view it's source",
|
|
77
77
|
"`?` alone on a line will brings up IPython's help",
|
|
78
78
|
"You can use `%hist` to view history, see the options with `%history?`",
|
|
79
|
-
"You can change the
|
|
79
|
+
"You can change the editing mode of IPython to behave more like vi, or emacs.",
|
|
80
80
|
"IPython 9.0+ have hooks to integrate AI/LLM completions.",
|
|
81
81
|
"Use `%timeit` or `%%timeit`, and the `-r`, `-n`, and `-o` options to easily profile your code.",
|
|
82
82
|
"Use `ipython --help-all | less` to view all the IPython configurations options.",
|
|
@@ -50,7 +50,6 @@ def inputhook(context):
|
|
|
50
50
|
except AttributeError: # Only for Qt>=5.14.
|
|
51
51
|
pass
|
|
52
52
|
_appref = app = QtGui.QApplication([" "])
|
|
53
|
-
_eventloop = QtCore.QEventLoop(app)
|
|
54
53
|
|
|
55
54
|
# "reclaim" IPython sys.excepthook after event loop starts
|
|
56
55
|
# without this, it defaults back to BaseIPythonApplication.excepthook
|
|
@@ -58,6 +57,9 @@ def inputhook(context):
|
|
|
58
57
|
# formatting and look like "bug in IPython".
|
|
59
58
|
QtCore.QTimer.singleShot(0, _reclaim_excepthook)
|
|
60
59
|
|
|
60
|
+
if _eventloop is None:
|
|
61
|
+
_eventloop = QtCore.QEventLoop(app)
|
|
62
|
+
|
|
61
63
|
if sys.platform == 'win32':
|
|
62
64
|
# The QSocketNotifier method doesn't appear to work on Windows.
|
|
63
65
|
# Use polling instead.
|
|
@@ -203,7 +203,7 @@ AUTO_SUGGEST_BINDINGS = [
|
|
|
203
203
|
Binding(
|
|
204
204
|
auto_suggest.accept,
|
|
205
205
|
["right"],
|
|
206
|
-
"has_suggestion & default_buffer_focused & emacs_like_insert_mode",
|
|
206
|
+
"has_suggestion & default_buffer_focused & emacs_like_insert_mode & is_cursor_at_the_end_of_line",
|
|
207
207
|
),
|
|
208
208
|
Binding(
|
|
209
209
|
auto_suggest.accept_word,
|
|
@@ -3,6 +3,7 @@ import os
|
|
|
3
3
|
import sys
|
|
4
4
|
import token
|
|
5
5
|
import tokenize
|
|
6
|
+
import warnings
|
|
6
7
|
from io import StringIO
|
|
7
8
|
from typing import TypeAlias
|
|
8
9
|
|
|
@@ -353,7 +354,6 @@ class Parser:
|
|
|
353
354
|
Call format() to process code.
|
|
354
355
|
"""
|
|
355
356
|
|
|
356
|
-
|
|
357
357
|
assert theme_name is not None
|
|
358
358
|
|
|
359
359
|
self.out = out
|
|
@@ -361,7 +361,13 @@ class Parser:
|
|
|
361
361
|
self.lines = None
|
|
362
362
|
self.raw = None
|
|
363
363
|
if theme_name is not None:
|
|
364
|
-
|
|
364
|
+
if theme_name in ["Linux", "LightBG", "Neutral", "NoColor"]:
|
|
365
|
+
warnings.warn(
|
|
366
|
+
f"Theme names and color schemes are lowercase in IPython 9.0 use {theme_name.lower()} instead",
|
|
367
|
+
DeprecationWarning,
|
|
368
|
+
stacklevel=2,
|
|
369
|
+
)
|
|
370
|
+
theme_name = theme_name.lower()
|
|
365
371
|
if not theme_name:
|
|
366
372
|
self.theme_name = "nocolor"
|
|
367
373
|
else:
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# GENERATED BY setup.py
|
|
2
|
-
commit = "
|
|
2
|
+
commit = "9970f5e4b"
|
|
@@ -68,7 +68,7 @@ Example configuration file
|
|
|
68
68
|
'mycode.py',
|
|
69
69
|
'fancy.ipy'
|
|
70
70
|
]
|
|
71
|
-
c.InteractiveShell.colors = '
|
|
71
|
+
c.InteractiveShell.colors = 'lightbg'
|
|
72
72
|
c.InteractiveShell.xmode = 'Context'
|
|
73
73
|
c.TerminalInteractiveShell.confirm_exit = False
|
|
74
74
|
c.TerminalInteractiveShell.editor = 'nano'
|
|
@@ -92,7 +92,7 @@ hierarchy represents the value you would normally set on the ``c`` object of
|
|
|
92
92
|
|
|
93
93
|
{
|
|
94
94
|
"InteractiveShell": {
|
|
95
|
-
"colors": "
|
|
95
|
+
"colors": "lightbg",
|
|
96
96
|
},
|
|
97
97
|
"InteractiveShellApp": {
|
|
98
98
|
"extensions": [
|
|
@@ -106,7 +106,7 @@ hierarchy represents the value you would normally set on the ``c`` object of
|
|
|
106
106
|
|
|
107
107
|
Is equivalent to the following ``ipython_config.py``::
|
|
108
108
|
|
|
109
|
-
c.InteractiveShell.colors = '
|
|
109
|
+
c.InteractiveShell.colors = 'lightbg'
|
|
110
110
|
c.InteractiveShellApp.extensions = [
|
|
111
111
|
'myextension'
|
|
112
112
|
]
|
|
@@ -84,7 +84,7 @@ unicode symbol, for a more refined experience.
|
|
|
84
84
|
New themes using colors and symbols
|
|
85
85
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
86
86
|
|
|
87
|
-
All the existing themes (Linux, LightBG, Neutral and
|
|
87
|
+
All the existing themes (Linux, LightBG, Neutral and NoColor) should not see any
|
|
88
88
|
changes, but I added two new *pride themes*, that show the use of 256bits colors
|
|
89
89
|
and unicode symbols. I'm not a designer, so feel free to suggest updates and new
|
|
90
90
|
themes to add.
|
|
@@ -165,6 +165,17 @@ disallow_incomplete_defs = false
|
|
|
165
165
|
check_untyped_defs = true
|
|
166
166
|
disallow_untyped_decorators = true
|
|
167
167
|
|
|
168
|
+
[[tool.mypy.overrides]]
|
|
169
|
+
module = [
|
|
170
|
+
"IPython.core.interactiveshell",
|
|
171
|
+
]
|
|
172
|
+
disallow_untyped_defs = false
|
|
173
|
+
ignore_errors = true
|
|
174
|
+
ignore_missing_imports = true
|
|
175
|
+
disallow_untyped_calls = false
|
|
176
|
+
disallow_incomplete_defs = true
|
|
177
|
+
check_untyped_defs = true
|
|
178
|
+
disallow_untyped_decorators = false
|
|
168
179
|
|
|
169
180
|
# gloabl ignore error
|
|
170
181
|
[[tool.mypy.overrides]]
|
|
@@ -192,7 +203,6 @@ module = [
|
|
|
192
203
|
"IPython.core.historyapp",
|
|
193
204
|
"IPython.core.hooks",
|
|
194
205
|
"IPython.core.inputtransformer2",
|
|
195
|
-
"IPython.core.interactiveshell",
|
|
196
206
|
"IPython.core.logger",
|
|
197
207
|
"IPython.core.macro",
|
|
198
208
|
"IPython.core.magic",
|
|
@@ -4,6 +4,8 @@ Line-based transformers are the simpler ones; token-based transformers are
|
|
|
4
4
|
more complex. See test_inputtransformer2 for tests for token-based transformers.
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
|
+
import pytest
|
|
8
|
+
|
|
7
9
|
from IPython.core import inputtransformer2 as ipt2
|
|
8
10
|
|
|
9
11
|
CELL_MAGIC = (
|
|
@@ -164,7 +166,7 @@ if True:
|
|
|
164
166
|
"""\
|
|
165
167
|
# comment
|
|
166
168
|
if True:
|
|
167
|
-
|
|
169
|
+
a = 3
|
|
168
170
|
""",
|
|
169
171
|
)
|
|
170
172
|
|
|
@@ -182,11 +184,28 @@ if True:
|
|
|
182
184
|
)
|
|
183
185
|
|
|
184
186
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
187
|
+
INDENTED_CODE_WITH_ALIGNED_COMMENT = (
|
|
188
|
+
"""\
|
|
189
|
+
# comment
|
|
190
|
+
x = 1
|
|
191
|
+
print(x)
|
|
192
|
+
""",
|
|
193
|
+
"""\
|
|
194
|
+
# comment
|
|
195
|
+
x = 1
|
|
196
|
+
print(x)
|
|
197
|
+
""",
|
|
198
|
+
)
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
@pytest.mark.parametrize(
|
|
202
|
+
"sample, expected",
|
|
203
|
+
[INDENT_SPACES_COMMENT, INDENT_TABS_COMMENT, INDENTED_CODE_WITH_ALIGNED_COMMENT],
|
|
204
|
+
)
|
|
205
|
+
def test_leading_indent_comment(sample, expected):
|
|
206
|
+
assert ipt2.leading_indent(sample.splitlines(keepends=True)) == expected.splitlines(
|
|
207
|
+
keepends=True
|
|
208
|
+
)
|
|
190
209
|
|
|
191
210
|
|
|
192
211
|
LEADING_EMPTY_LINES = (
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|