debugpy 1.8.2__zip → 1.8.3__zip
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.
- {debugpy-1.8.2/src/debugpy.egg-info → debugpy-1.8.3}/PKG-INFO +1 -1
- {debugpy-1.8.2 → debugpy-1.8.3}/pyproject.toml +1 -1
- {debugpy-1.8.2 → debugpy-1.8.3}/setup.py +2 -0
- debugpy-1.8.3/src/debugpy/__main__.py +71 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhook.py +20 -2
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt6.py +199 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_ipython/matplotlibtools.py +1 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_ipython/qt.py +6 -6
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_for_kernel.py +15 -2
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_loaders.py +48 -7
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.exe +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_version.py +3 -3
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/adapter/components.py +1 -1
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/public_api.py +5 -4
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/server/cli.py +101 -45
- {debugpy-1.8.2 → debugpy-1.8.3/src/debugpy.egg-info}/PKG-INFO +1 -1
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy.egg-info/SOURCES.txt +2 -0
- debugpy-1.8.3/src/debugpy.egg-info/entry_points.txt +2 -0
- debugpy-1.8.2/src/debugpy/__main__.py +0 -39
- {debugpy-1.8.2 → debugpy-1.8.3}/DESCRIPTION.md +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/LICENSE +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/MANIFEST.in +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/README.md +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/setup.cfg +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/ThirdPartyNotices.txt +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/_pydevd_packaging.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/_util.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/force_pydevd.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_calltip_util.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_completer.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_execfile.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_getopt.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_imports_tipper.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_jy_imports_tipper.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_log.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_saved_modules.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_sys_patch.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_tipper_common.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/fsnotify/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_console_utils.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_import_hook.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_imports.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console_011.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_is_thread_alive.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_localhost.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_log.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey_qt.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_override.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_umd.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_versioncheck.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_runfiles/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_nose.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel_client.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_pytest2.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_unittest.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_xml_rpc.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocol.json +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocolCustom.json +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_base_schema.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema_log.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevconsole_code.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_api.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_breakpoints.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_code_to_source.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_collect_bytecode_info.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm_constants.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_command_line_handling.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_concurrency_logger.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_thread_wrappers.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_console.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_constants.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_custom_frames.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.c +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pxd +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pyx +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython_wrapper.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_daemon_thread.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_defaults.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace_files.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_exec2.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_api.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_utils.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_filtering.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame_utils.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_gevent_integration.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_import_class.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_io.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_json.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_xml.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command_json.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_referrers.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_reload.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_resolver.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_safe_repr.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_save_locals.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_signature.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_source_mapping.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_stackless.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_suspended_frames.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_thread_lifecycle.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_timeout.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_api.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch_regular.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_traceproperty.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_utils.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_xml.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/.gitignore +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_cython_wrapper.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.c +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pxd +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pyx +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.template.pyx +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_tracing.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_modify_bytecode.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/release_mem.h +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/README.txt +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/bytecode.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/cfg.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/concrete.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/flags.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/instr.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/peephole_opt.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_bytecode.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_cfg.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_code.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_concrete.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_flags.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_instr.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_misc.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_peephole_opt.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/util_annotation.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/COPYING +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/INSTALLER +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/METADATA +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/RECORD +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/REQUESTED +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/WHEEL +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/direct_url.json +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/top_level.txt +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/pydevd_fix_code.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_app_engine_debug_startup.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_coverage.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_ipython/README +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_ipython/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookglut.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk3.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookpyglet.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt4.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt5.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhooktk.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookwx.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_ipython/version.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_pysrc.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_run_in_console.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_sitecustomize/__not_in_default_pythonpath.txt +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevconsole.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/README.txt +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_check.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_script.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace.hpp +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_310.hpp +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_311.hpp +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_common.hpp +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_settrace.hpp +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_utils.hpp +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_version.hpp +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/python.h +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/ref_utils.hpp +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/.gitignore +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/attach.cpp +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_linux.sh +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_mac.sh +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_manylinux.cmd +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/lldb_prepare.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/breakpoint.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/compat.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/crash.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/debug.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/disasm.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/event.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/interactive.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/module.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/process.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/registry.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/search.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/sql.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/system.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/textio.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/thread.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/util.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/advapi32.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_amd64.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_i386.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/dbghelp.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/defines.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/kernel32.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/psapi.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shell32.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shlwapi.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/user32.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/version.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/wtsapi32.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/window.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.cpp +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.h +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/compile_windows.bat +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/inject_dll.cpp +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/py_win_helpers.hpp +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_in_memory.hpp +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_on_dllmain.cpp +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.cpp +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.h +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/targetver.h +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_file_utils.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_plugins/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_plugins/django_debug.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/README.md +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_helpers.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_numpy_types.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_pandas_types.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugins_django_form_str.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_plugins/jinja2_debug.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_plugins/pydevd_line_validation.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_tracing.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/setup_pydevd_cython.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/adapter/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/adapter/__main__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/adapter/clients.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/adapter/launchers.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/adapter/servers.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/adapter/sessions.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/common/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/common/json.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/common/log.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/common/messaging.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/common/singleton.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/common/sockets.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/common/stacks.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/common/timestamp.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/common/util.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/launcher/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/launcher/__main__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/launcher/debuggee.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/launcher/handlers.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/launcher/output.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/launcher/winapi.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/server/__init__.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/server/api.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/server/attach_pid_injected.py +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy.egg-info/dependency_links.txt +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy.egg-info/top_level.txt +0 -0
- {debugpy-1.8.2 → debugpy-1.8.3}/versioneer.py +0 -0
|
@@ -16,7 +16,7 @@ exclude = '''
|
|
|
16
16
|
[tool.pyright]
|
|
17
17
|
pythonVersion = "3.8"
|
|
18
18
|
include = ["src/**", "tests/**" ]
|
|
19
|
-
extraPaths = ["src/debugpy/_vendored/pydevd"]
|
|
19
|
+
extraPaths = ["src/debugpy/_vendored/pydevd", "src/debugpy/_vendored/pydevd/pydevd_attach_to_process"]
|
|
20
20
|
ignore = ["src/debugpy/_vendored/pydevd", "src/debugpy/_version.py"]
|
|
21
21
|
executionEnvironments = [
|
|
22
22
|
{ root = "src" }, { root = "." }
|
|
@@ -195,5 +195,7 @@ if __name__ == "__main__":
|
|
|
195
195
|
ext_modules=ExtModules(),
|
|
196
196
|
has_ext_modules=lambda: True,
|
|
197
197
|
cmdclass=cmds,
|
|
198
|
+
# allow the user to call "debugpy" instead of "python -m debugpy"
|
|
199
|
+
entry_points={"console_scripts": ["debugpy = debugpy.server.cli:main"]},
|
|
198
200
|
**extras
|
|
199
201
|
)
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
2
|
+
# Licensed under the MIT License. See LICENSE in the project root
|
|
3
|
+
# for license information.
|
|
4
|
+
|
|
5
|
+
import sys
|
|
6
|
+
|
|
7
|
+
if __name__ == "__main__":
|
|
8
|
+
|
|
9
|
+
# There are three ways to run debugpy:
|
|
10
|
+
#
|
|
11
|
+
# 1. Installed as a module in the current environment (python -m debugpy ...)
|
|
12
|
+
# 2. Run as a script from source code (python <repo_root>/src/debugpy ...)
|
|
13
|
+
# 3. Installed as a module in a random directory
|
|
14
|
+
#
|
|
15
|
+
# -----
|
|
16
|
+
#
|
|
17
|
+
# In the first case, no extra work is needed. Importing debugpy will work as expected.
|
|
18
|
+
# Also, running 'debugpy' instead of 'python -m debugpy' will work because of the entry point
|
|
19
|
+
# defined in setup.py.
|
|
20
|
+
#
|
|
21
|
+
# -----
|
|
22
|
+
#
|
|
23
|
+
# In the second case, sys.path[0] is the one added automatically by Python for the directory
|
|
24
|
+
# containing this file. 'import debugpy' will not work since we need the parent directory
|
|
25
|
+
# of debugpy/ to be in sys.path, rather than debugpy/ itself. So we need to modify sys.path[0].
|
|
26
|
+
# Running 'debugpy' will not work because the entry point is not defined in this case.
|
|
27
|
+
#
|
|
28
|
+
# -----
|
|
29
|
+
#
|
|
30
|
+
# In the third case, running 'python -m debugpy' will not work because the module is not installed
|
|
31
|
+
# in any environment. Running 'python <install_dir>/debugpy' will work, just like the second case.
|
|
32
|
+
# But running the entry point will not work because python doesn't know where to find the debugpy module.
|
|
33
|
+
#
|
|
34
|
+
# In this case, no changes to sys.path are required. You just have to do the following before calling
|
|
35
|
+
# the entry point:
|
|
36
|
+
# 1. Add <install_dir> to PYTHONPATH.
|
|
37
|
+
# On Windows, this is set PYTHONPATH=%PYTHONPATH%;<install_dir>
|
|
38
|
+
# 2. Add <install_dir>/bin to PATH. (OPTIONAL)
|
|
39
|
+
# On Windows, this is set PATH=%PATH%;<install_dir>\bin
|
|
40
|
+
# 3. Run the entry point from a command prompt
|
|
41
|
+
# On Windows, this is <install_dir>\bin\debugpy.exe, or just 'debugpy' if you did the previous step.
|
|
42
|
+
#
|
|
43
|
+
# -----
|
|
44
|
+
#
|
|
45
|
+
# If we modify sys.path, 'import debugpy' will work, but it will break other imports
|
|
46
|
+
# because they will be resolved relative to debugpy/ - e.g. `import debugger` will try
|
|
47
|
+
# to import debugpy/debugger.py.
|
|
48
|
+
#
|
|
49
|
+
# To fix both problems, we need to do the following steps:
|
|
50
|
+
# 1. Modify sys.path[0] to point at the parent directory of debugpy/ instead of debugpy/ itself.
|
|
51
|
+
# 2. Import debugpy.
|
|
52
|
+
# 3. Remove sys.path[0] so that it doesn't affect future imports.
|
|
53
|
+
#
|
|
54
|
+
# For example, suppose the user did:
|
|
55
|
+
#
|
|
56
|
+
# python /foo/bar/debugpy ...
|
|
57
|
+
#
|
|
58
|
+
# At the beginning of this script, sys.path[0] will contain "/foo/bar/debugpy".
|
|
59
|
+
# We want to replace it with "/foo/bar', then 'import debugpy', then remove the replaced entry.
|
|
60
|
+
# The imported debugpy module will remain in sys.modules, and thus all future imports of it
|
|
61
|
+
# or its submodules will resolve accordingly.
|
|
62
|
+
if "debugpy" not in sys.modules:
|
|
63
|
+
|
|
64
|
+
# Do not use dirname() to walk up - this can be a relative path, e.g. ".".
|
|
65
|
+
sys.path[0] = sys.path[0] + "/../"
|
|
66
|
+
import debugpy # noqa
|
|
67
|
+
del sys.path[0]
|
|
68
|
+
|
|
69
|
+
from debugpy.server import cli
|
|
70
|
+
|
|
71
|
+
cli.main()
|
|
@@ -26,6 +26,7 @@ GUI_WX = 'wx'
|
|
|
26
26
|
GUI_QT = 'qt'
|
|
27
27
|
GUI_QT4 = 'qt4'
|
|
28
28
|
GUI_QT5 = 'qt5'
|
|
29
|
+
GUI_QT6 = 'qt6'
|
|
29
30
|
GUI_GTK = 'gtk'
|
|
30
31
|
GUI_TK = 'tk'
|
|
31
32
|
GUI_OSX = 'osx'
|
|
@@ -173,8 +174,10 @@ class InputHookManager(object):
|
|
|
173
174
|
self.clear_inputhook()
|
|
174
175
|
|
|
175
176
|
def enable_qt(self, app=None):
|
|
176
|
-
from pydev_ipython.qt_for_kernel import QT_API, QT_API_PYQT5
|
|
177
|
-
if QT_API ==
|
|
177
|
+
from pydev_ipython.qt_for_kernel import QT_API, QT_API_PYQT5, QT_API_PYQT6
|
|
178
|
+
if QT_API == QT_API_PYQT6:
|
|
179
|
+
self.enable_qt6(app)
|
|
180
|
+
elif QT_API == QT_API_PYQT5:
|
|
178
181
|
self.enable_qt5(app)
|
|
179
182
|
else:
|
|
180
183
|
self.enable_qt4(app)
|
|
@@ -234,6 +237,21 @@ class InputHookManager(object):
|
|
|
234
237
|
self._apps[GUI_QT5]._in_event_loop = False
|
|
235
238
|
self.clear_inputhook()
|
|
236
239
|
|
|
240
|
+
def enable_qt6(self, app=None):
|
|
241
|
+
from pydev_ipython.inputhookqt6 import create_inputhook_qt6
|
|
242
|
+
app, inputhook_qt6 = create_inputhook_qt6(self, app)
|
|
243
|
+
self.set_inputhook(inputhook_qt6)
|
|
244
|
+
|
|
245
|
+
self._current_gui = GUI_QT6
|
|
246
|
+
app._in_event_loop = True
|
|
247
|
+
self._apps[GUI_QT6] = app
|
|
248
|
+
return app
|
|
249
|
+
|
|
250
|
+
def disable_qt6(self):
|
|
251
|
+
if GUI_QT6 in self._apps:
|
|
252
|
+
self._apps[GUI_QT6]._in_event_loop = False
|
|
253
|
+
self.clear_inputhook()
|
|
254
|
+
|
|
237
255
|
def enable_gtk(self, app=None):
|
|
238
256
|
"""Enable event loop integration with PyGTK.
|
|
239
257
|
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
"""
|
|
3
|
+
Qt6's inputhook support function
|
|
4
|
+
|
|
5
|
+
Author: Christian Boos, Marijn van Vliet
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
#-----------------------------------------------------------------------------
|
|
9
|
+
# Copyright (C) 2011 The IPython Development Team
|
|
10
|
+
#
|
|
11
|
+
# Distributed under the terms of the BSD License. The full license is in
|
|
12
|
+
# the file COPYING, distributed as part of this software.
|
|
13
|
+
#-----------------------------------------------------------------------------
|
|
14
|
+
|
|
15
|
+
#-----------------------------------------------------------------------------
|
|
16
|
+
# Imports
|
|
17
|
+
#-----------------------------------------------------------------------------
|
|
18
|
+
|
|
19
|
+
import os
|
|
20
|
+
import signal
|
|
21
|
+
|
|
22
|
+
import threading
|
|
23
|
+
|
|
24
|
+
from pydev_ipython.qt_for_kernel import QtCore, QtGui
|
|
25
|
+
from pydev_ipython.inputhook import allow_CTRL_C, ignore_CTRL_C, stdin_ready
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
# To minimise future merging complexity, rather than edit the entire code base below
|
|
29
|
+
# we fake InteractiveShell here
|
|
30
|
+
class InteractiveShell:
|
|
31
|
+
_instance = None
|
|
32
|
+
|
|
33
|
+
@classmethod
|
|
34
|
+
def instance(cls):
|
|
35
|
+
if cls._instance is None:
|
|
36
|
+
cls._instance = cls()
|
|
37
|
+
return cls._instance
|
|
38
|
+
|
|
39
|
+
def set_hook(self, *args, **kwargs):
|
|
40
|
+
# We don't consider the pre_prompt_hook because we don't have
|
|
41
|
+
# KeyboardInterrupts to consider since we are running under PyDev
|
|
42
|
+
pass
|
|
43
|
+
|
|
44
|
+
#-----------------------------------------------------------------------------
|
|
45
|
+
# Module Globals
|
|
46
|
+
#-----------------------------------------------------------------------------
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
got_kbdint = False
|
|
50
|
+
sigint_timer = None
|
|
51
|
+
|
|
52
|
+
#-----------------------------------------------------------------------------
|
|
53
|
+
# Code
|
|
54
|
+
#-----------------------------------------------------------------------------
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
def create_inputhook_qt6(mgr, app=None):
|
|
58
|
+
"""Create an input hook for running the Qt6 application event loop.
|
|
59
|
+
|
|
60
|
+
Parameters
|
|
61
|
+
----------
|
|
62
|
+
mgr : an InputHookManager
|
|
63
|
+
|
|
64
|
+
app : Qt Application, optional.
|
|
65
|
+
Running application to use. If not given, we probe Qt for an
|
|
66
|
+
existing application object, and create a new one if none is found.
|
|
67
|
+
|
|
68
|
+
Returns
|
|
69
|
+
-------
|
|
70
|
+
A pair consisting of a Qt Application (either the one given or the
|
|
71
|
+
one found or created) and a inputhook.
|
|
72
|
+
|
|
73
|
+
Notes
|
|
74
|
+
-----
|
|
75
|
+
We use a custom input hook instead of PyQt6's default one, as it
|
|
76
|
+
interacts better with the readline packages (issue #481).
|
|
77
|
+
|
|
78
|
+
The inputhook function works in tandem with a 'pre_prompt_hook'
|
|
79
|
+
which automatically restores the hook as an inputhook in case the
|
|
80
|
+
latter has been temporarily disabled after having intercepted a
|
|
81
|
+
KeyboardInterrupt.
|
|
82
|
+
"""
|
|
83
|
+
|
|
84
|
+
if app is None:
|
|
85
|
+
app = QtCore.QCoreApplication.instance()
|
|
86
|
+
if app is None:
|
|
87
|
+
from PyQt6 import QtWidgets
|
|
88
|
+
app = QtWidgets.QApplication([" "])
|
|
89
|
+
|
|
90
|
+
# Re-use previously created inputhook if any
|
|
91
|
+
ip = InteractiveShell.instance()
|
|
92
|
+
if hasattr(ip, '_inputhook_qt6'):
|
|
93
|
+
return app, ip._inputhook_qt6
|
|
94
|
+
|
|
95
|
+
# Otherwise create the inputhook_qt6/preprompthook_qt6 pair of
|
|
96
|
+
# hooks (they both share the got_kbdint flag)
|
|
97
|
+
|
|
98
|
+
def inputhook_qt6():
|
|
99
|
+
"""PyOS_InputHook python hook for Qt6.
|
|
100
|
+
|
|
101
|
+
Process pending Qt events and if there's no pending keyboard
|
|
102
|
+
input, spend a short slice of time (50ms) running the Qt event
|
|
103
|
+
loop.
|
|
104
|
+
|
|
105
|
+
As a Python ctypes callback can't raise an exception, we catch
|
|
106
|
+
the KeyboardInterrupt and temporarily deactivate the hook,
|
|
107
|
+
which will let a *second* CTRL+C be processed normally and go
|
|
108
|
+
back to a clean prompt line.
|
|
109
|
+
"""
|
|
110
|
+
try:
|
|
111
|
+
allow_CTRL_C()
|
|
112
|
+
app = QtCore.QCoreApplication.instance()
|
|
113
|
+
if not app: # shouldn't happen, but safer if it happens anyway...
|
|
114
|
+
return 0
|
|
115
|
+
app.processEvents(QtCore.QEventLoop.ProcessEventsFlag.AllEvents, 300)
|
|
116
|
+
if not stdin_ready():
|
|
117
|
+
# Generally a program would run QCoreApplication::exec()
|
|
118
|
+
# from main() to enter and process the Qt event loop until
|
|
119
|
+
# quit() or exit() is called and the program terminates.
|
|
120
|
+
#
|
|
121
|
+
# For our input hook integration, we need to repeatedly
|
|
122
|
+
# enter and process the Qt event loop for only a short
|
|
123
|
+
# amount of time (say 50ms) to ensure that Python stays
|
|
124
|
+
# responsive to other user inputs.
|
|
125
|
+
#
|
|
126
|
+
# A naive approach would be to repeatedly call
|
|
127
|
+
# QCoreApplication::exec(), using a timer to quit after a
|
|
128
|
+
# short amount of time. Unfortunately, QCoreApplication
|
|
129
|
+
# emits an aboutToQuit signal before stopping, which has
|
|
130
|
+
# the undesirable effect of closing all modal windows.
|
|
131
|
+
#
|
|
132
|
+
# To work around this problem, we instead create a
|
|
133
|
+
# QEventLoop and call QEventLoop::exec(). Other than
|
|
134
|
+
# setting some state variables which do not seem to be
|
|
135
|
+
# used anywhere, the only thing QCoreApplication adds is
|
|
136
|
+
# the aboutToQuit signal which is precisely what we are
|
|
137
|
+
# trying to avoid.
|
|
138
|
+
timer = QtCore.QTimer()
|
|
139
|
+
event_loop = QtCore.QEventLoop()
|
|
140
|
+
timer.timeout.connect(event_loop.quit)
|
|
141
|
+
while not stdin_ready():
|
|
142
|
+
timer.start(50)
|
|
143
|
+
event_loop.exec()
|
|
144
|
+
timer.stop()
|
|
145
|
+
except KeyboardInterrupt:
|
|
146
|
+
global got_kbdint, sigint_timer
|
|
147
|
+
|
|
148
|
+
ignore_CTRL_C()
|
|
149
|
+
got_kbdint = True
|
|
150
|
+
mgr.clear_inputhook()
|
|
151
|
+
|
|
152
|
+
# This generates a second SIGINT so the user doesn't have to
|
|
153
|
+
# press CTRL+C twice to get a clean prompt.
|
|
154
|
+
#
|
|
155
|
+
# Since we can't catch the resulting KeyboardInterrupt here
|
|
156
|
+
# (because this is a ctypes callback), we use a timer to
|
|
157
|
+
# generate the SIGINT after we leave this callback.
|
|
158
|
+
#
|
|
159
|
+
# Unfortunately this doesn't work on Windows (SIGINT kills
|
|
160
|
+
# Python and CTRL_C_EVENT doesn't work).
|
|
161
|
+
if(os.name == 'posix'):
|
|
162
|
+
pid = os.getpid()
|
|
163
|
+
if(not sigint_timer):
|
|
164
|
+
sigint_timer = threading.Timer(.01, os.kill,
|
|
165
|
+
args=[pid, signal.SIGINT])
|
|
166
|
+
sigint_timer.start()
|
|
167
|
+
else:
|
|
168
|
+
print("\nKeyboardInterrupt - Ctrl-C again for new prompt")
|
|
169
|
+
|
|
170
|
+
except: # NO exceptions are allowed to escape from a ctypes callback
|
|
171
|
+
ignore_CTRL_C()
|
|
172
|
+
from traceback import print_exc
|
|
173
|
+
print_exc()
|
|
174
|
+
print("Got exception from inputhook_qt6, unregistering.")
|
|
175
|
+
mgr.clear_inputhook()
|
|
176
|
+
finally:
|
|
177
|
+
allow_CTRL_C()
|
|
178
|
+
return 0
|
|
179
|
+
|
|
180
|
+
def preprompthook_qt6(ishell):
|
|
181
|
+
"""'pre_prompt_hook' used to restore the Qt6 input hook
|
|
182
|
+
|
|
183
|
+
(in case the latter was temporarily deactivated after a
|
|
184
|
+
CTRL+C)
|
|
185
|
+
"""
|
|
186
|
+
global got_kbdint, sigint_timer
|
|
187
|
+
|
|
188
|
+
if(sigint_timer):
|
|
189
|
+
sigint_timer.cancel()
|
|
190
|
+
sigint_timer = None
|
|
191
|
+
|
|
192
|
+
if got_kbdint:
|
|
193
|
+
mgr.set_inputhook(inputhook_qt6)
|
|
194
|
+
got_kbdint = False
|
|
195
|
+
|
|
196
|
+
ip._inputhook_qt6 = inputhook_qt6
|
|
197
|
+
ip.set_hook('pre_prompt_hook', preprompthook_qt6)
|
|
198
|
+
|
|
199
|
+
return app, inputhook_qt6
|
|
@@ -8,15 +8,15 @@ Do not use this if you need PyQt with the old QString/QVariant API.
|
|
|
8
8
|
|
|
9
9
|
import os
|
|
10
10
|
|
|
11
|
-
from pydev_ipython.qt_loaders import (load_qt, QT_API_PYSIDE,
|
|
12
|
-
QT_API_PYQT, QT_API_PYQT5)
|
|
11
|
+
from pydev_ipython.qt_loaders import (load_qt, QT_API_PYSIDE, QT_API_PYSIDE2,
|
|
12
|
+
QT_API_PYQT, QT_API_PYQT5, QT_API_PYQT6)
|
|
13
13
|
|
|
14
14
|
QT_API = os.environ.get('QT_API', None)
|
|
15
|
-
if QT_API not in [QT_API_PYSIDE, QT_API_PYQT, QT_API_PYQT5, None]:
|
|
16
|
-
raise RuntimeError("Invalid Qt API %r, valid values are: %r, %r" %
|
|
17
|
-
(QT_API, QT_API_PYSIDE, QT_API_PYQT, QT_API_PYQT5))
|
|
15
|
+
if QT_API not in [QT_API_PYSIDE, QT_API_PYSIDE2, QT_API_PYQT, QT_API_PYQT5, QT_API_PYQT6, None]:
|
|
16
|
+
raise RuntimeError("Invalid Qt API %r, valid values are: %r, %r, %r, %r, %r" %
|
|
17
|
+
(QT_API, QT_API_PYSIDE, QT_API_PYSIDE2, QT_API_PYQT, QT_API_PYQT5, QT_API_PYQT6))
|
|
18
18
|
if QT_API is None:
|
|
19
|
-
api_opts = [QT_API_PYSIDE, QT_API_PYQT, QT_API_PYQT5]
|
|
19
|
+
api_opts = [QT_API_PYSIDE, QT_API_PYSIDE2, QT_API_PYQT, QT_API_PYQT5, QT_API_PYQT6]
|
|
20
20
|
else:
|
|
21
21
|
api_opts = [QT_API]
|
|
22
22
|
|
|
@@ -37,7 +37,7 @@ import sys
|
|
|
37
37
|
from pydev_ipython.version import check_version
|
|
38
38
|
from pydev_ipython.qt_loaders import (load_qt, QT_API_PYSIDE, QT_API_PYSIDE2,
|
|
39
39
|
QT_API_PYQT, QT_API_PYQT_DEFAULT,
|
|
40
|
-
loaded_api, QT_API_PYQT5)
|
|
40
|
+
loaded_api, QT_API_PYQT5, QT_API_PYQT6)
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
# Constraints placed on an imported matplotlib
|
|
@@ -71,10 +71,21 @@ def matplotlib_options(mpl):
|
|
|
71
71
|
raise ImportError("unhandled value for backend.qt5 from matplotlib: %r" %
|
|
72
72
|
mpqt)
|
|
73
73
|
|
|
74
|
+
elif backend == 'Qt6Agg':
|
|
75
|
+
mpqt = mpl.rcParams.get('backend.qt6', None)
|
|
76
|
+
if mpqt is None:
|
|
77
|
+
return None
|
|
78
|
+
if mpqt.lower() == 'pyqt6':
|
|
79
|
+
return [QT_API_PYQT6]
|
|
80
|
+
raise ImportError("unhandled value for backend.qt6 from matplotlib: %r" %
|
|
81
|
+
mpqt)
|
|
82
|
+
|
|
74
83
|
# Fallback without checking backend (previous code)
|
|
75
84
|
mpqt = mpl.rcParams.get('backend.qt4', None)
|
|
76
85
|
if mpqt is None:
|
|
77
86
|
mpqt = mpl.rcParams.get('backend.qt5', None)
|
|
87
|
+
if mpqt is None:
|
|
88
|
+
mpqt = mpl.rcParams.get('backend.qt6', None)
|
|
78
89
|
|
|
79
90
|
if mpqt is None:
|
|
80
91
|
return None
|
|
@@ -84,6 +95,8 @@ def matplotlib_options(mpl):
|
|
|
84
95
|
return [QT_API_PYQT_DEFAULT]
|
|
85
96
|
elif mpqt.lower() == 'pyqt5':
|
|
86
97
|
return [QT_API_PYQT5]
|
|
98
|
+
elif mpqt.lower() == 'pyqt6':
|
|
99
|
+
return [QT_API_PYQT6]
|
|
87
100
|
raise ImportError("unhandled value for qt backend from matplotlib: %r" %
|
|
88
101
|
mpqt)
|
|
89
102
|
|
|
@@ -105,7 +118,7 @@ def get_options():
|
|
|
105
118
|
|
|
106
119
|
if os.environ.get('QT_API', None) is None:
|
|
107
120
|
# no ETS variable. Ask mpl, then use either
|
|
108
|
-
return matplotlib_options(mpl) or [QT_API_PYQT_DEFAULT, QT_API_PYSIDE, QT_API_PYSIDE2, QT_API_PYQT5]
|
|
121
|
+
return matplotlib_options(mpl) or [QT_API_PYQT_DEFAULT, QT_API_PYSIDE, QT_API_PYSIDE2, QT_API_PYQT5, QT_API_PYQT6]
|
|
109
122
|
|
|
110
123
|
# ETS variable present. Will fallback to external.qt
|
|
111
124
|
return None
|
|
@@ -19,7 +19,9 @@ QT_API_PYQTv1 = 'pyqtv1'
|
|
|
19
19
|
QT_API_PYQT_DEFAULT = 'pyqtdefault' # don't set SIP explicitly
|
|
20
20
|
QT_API_PYSIDE = 'pyside'
|
|
21
21
|
QT_API_PYSIDE2 = 'pyside2'
|
|
22
|
+
QT_API_PYSIDE6 = 'pyside6'
|
|
22
23
|
QT_API_PYQT5 = 'pyqt5'
|
|
24
|
+
QT_API_PYQT6 = 'pyqt6'
|
|
23
25
|
|
|
24
26
|
|
|
25
27
|
class ImportDenier(object):
|
|
@@ -58,9 +60,11 @@ def commit_api(api):
|
|
|
58
60
|
if api == QT_API_PYSIDE:
|
|
59
61
|
ID.forbid('PyQt4')
|
|
60
62
|
ID.forbid('PyQt5')
|
|
63
|
+
ID.forbid('PyQt6')
|
|
61
64
|
else:
|
|
62
65
|
ID.forbid('PySide')
|
|
63
66
|
ID.forbid('PySide2')
|
|
67
|
+
ID.forbid('PySide6')
|
|
64
68
|
|
|
65
69
|
|
|
66
70
|
def loaded_api():
|
|
@@ -71,7 +75,7 @@ def loaded_api():
|
|
|
71
75
|
|
|
72
76
|
Returns
|
|
73
77
|
-------
|
|
74
|
-
None, 'pyside', 'pyside2', '
|
|
78
|
+
None, 'pyside', 'pyside2', 'pyside6', 'pyqt5', 'pyqt6', or 'pyqtv1'
|
|
75
79
|
"""
|
|
76
80
|
if 'PyQt4.QtCore' in sys.modules:
|
|
77
81
|
if qtapi_version() == 2:
|
|
@@ -82,13 +86,17 @@ def loaded_api():
|
|
|
82
86
|
return QT_API_PYSIDE
|
|
83
87
|
elif 'PySide2.QtCore' in sys.modules:
|
|
84
88
|
return QT_API_PYSIDE2
|
|
89
|
+
elif 'PySide6.QtCore' in sys.modules:
|
|
90
|
+
return QT_API_PYSIDE6
|
|
85
91
|
elif 'PyQt5.QtCore' in sys.modules:
|
|
86
92
|
return QT_API_PYQT5
|
|
93
|
+
elif 'PyQt6.QtCore' in sys.modules:
|
|
94
|
+
return QT_API_PYQT6
|
|
87
95
|
return None
|
|
88
96
|
|
|
89
97
|
|
|
90
98
|
def has_binding(api):
|
|
91
|
-
"""Safely check for
|
|
99
|
+
"""Safely check for PyQt or PySide, without importing
|
|
92
100
|
submodules
|
|
93
101
|
|
|
94
102
|
Parameters
|
|
@@ -105,10 +113,12 @@ def has_binding(api):
|
|
|
105
113
|
# check for complete presence before importing
|
|
106
114
|
module_name = {QT_API_PYSIDE: 'PySide',
|
|
107
115
|
QT_API_PYSIDE2: 'PySide2',
|
|
116
|
+
QT_API_PYSIDE6: 'PySide6',
|
|
108
117
|
QT_API_PYQT: 'PyQt4',
|
|
109
118
|
QT_API_PYQTv1: 'PyQt4',
|
|
110
119
|
QT_API_PYQT_DEFAULT: 'PyQt4',
|
|
111
120
|
QT_API_PYQT5: 'PyQt5',
|
|
121
|
+
QT_API_PYQT6: 'PyQt6',
|
|
112
122
|
}
|
|
113
123
|
module_name = module_name[api]
|
|
114
124
|
|
|
@@ -154,7 +164,7 @@ def can_import(api):
|
|
|
154
164
|
|
|
155
165
|
current = loaded_api()
|
|
156
166
|
if api == QT_API_PYQT_DEFAULT:
|
|
157
|
-
return current in [QT_API_PYQT, QT_API_PYQTv1, QT_API_PYQT5, None]
|
|
167
|
+
return current in [QT_API_PYQT, QT_API_PYQTv1, QT_API_PYQT5, QT_API_PYQT6, None]
|
|
158
168
|
else:
|
|
159
169
|
return current in [api, None]
|
|
160
170
|
|
|
@@ -211,6 +221,21 @@ def import_pyqt5():
|
|
|
211
221
|
return QtCore, QtGui, QtSvg, QT_API_PYQT5
|
|
212
222
|
|
|
213
223
|
|
|
224
|
+
def import_pyqt6():
|
|
225
|
+
"""
|
|
226
|
+
Import PyQt6
|
|
227
|
+
|
|
228
|
+
ImportErrors raised within this function are non-recoverable
|
|
229
|
+
"""
|
|
230
|
+
from PyQt6 import QtGui, QtCore, QtSvg
|
|
231
|
+
|
|
232
|
+
# Alias PyQt-specific functions for PySide compatibility.
|
|
233
|
+
QtCore.Signal = QtCore.pyqtSignal
|
|
234
|
+
QtCore.Slot = QtCore.pyqtSlot
|
|
235
|
+
|
|
236
|
+
return QtCore, QtGui, QtSvg, QT_API_PYQT6
|
|
237
|
+
|
|
238
|
+
|
|
214
239
|
def import_pyside():
|
|
215
240
|
"""
|
|
216
241
|
Import PySide
|
|
@@ -228,7 +253,17 @@ def import_pyside2():
|
|
|
228
253
|
ImportErrors raised within this function are non-recoverable
|
|
229
254
|
"""
|
|
230
255
|
from PySide2 import QtGui, QtCore, QtSvg # @UnresolvedImport
|
|
231
|
-
return QtCore, QtGui, QtSvg,
|
|
256
|
+
return QtCore, QtGui, QtSvg, QT_API_PYSIDE2
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
def import_pyside6():
|
|
260
|
+
"""
|
|
261
|
+
Import PySide6
|
|
262
|
+
|
|
263
|
+
ImportErrors raised within this function are non-recoverable
|
|
264
|
+
"""
|
|
265
|
+
from PySide6 import QtGui, QtCore, QtSvg # @UnresolvedImport
|
|
266
|
+
return QtCore, QtGui, QtSvg, QT_API_PYSIDE6
|
|
232
267
|
|
|
233
268
|
|
|
234
269
|
def load_qt(api_options):
|
|
@@ -259,19 +294,21 @@ def load_qt(api_options):
|
|
|
259
294
|
"""
|
|
260
295
|
loaders = {QT_API_PYSIDE: import_pyside,
|
|
261
296
|
QT_API_PYSIDE2: import_pyside2,
|
|
297
|
+
QT_API_PYSIDE6: import_pyside6,
|
|
262
298
|
QT_API_PYQT: import_pyqt4,
|
|
263
299
|
QT_API_PYQTv1: partial(import_pyqt4, version=1),
|
|
264
300
|
QT_API_PYQT_DEFAULT: partial(import_pyqt4, version=None),
|
|
265
301
|
QT_API_PYQT5: import_pyqt5,
|
|
302
|
+
QT_API_PYQT6: import_pyqt6,
|
|
266
303
|
}
|
|
267
304
|
|
|
268
305
|
for api in api_options:
|
|
269
306
|
|
|
270
307
|
if api not in loaders:
|
|
271
308
|
raise RuntimeError(
|
|
272
|
-
"Invalid Qt API %r, valid values are: %r, %r, %r, %r, %r, %r" %
|
|
273
|
-
(api, QT_API_PYSIDE,
|
|
274
|
-
QT_API_PYQTv1, QT_API_PYQT_DEFAULT, QT_API_PYQT5))
|
|
309
|
+
"Invalid Qt API %r, valid values are: %r, %r, %r, %r, %r, %r, %r" %
|
|
310
|
+
(api, QT_API_PYSIDE, QT_API_PYSIDE2, QT_API_PYQT,
|
|
311
|
+
QT_API_PYQTv1, QT_API_PYQT_DEFAULT, QT_API_PYQT5, QT_API_PYQT6))
|
|
275
312
|
|
|
276
313
|
if not can_import(api):
|
|
277
314
|
continue
|
|
@@ -290,12 +327,16 @@ def load_qt(api_options):
|
|
|
290
327
|
Currently-imported Qt library: %r
|
|
291
328
|
PyQt4 installed: %s
|
|
292
329
|
PyQt5 installed: %s
|
|
330
|
+
PyQt6 installed: %s
|
|
293
331
|
PySide >= 1.0.3 installed: %s
|
|
294
332
|
PySide2 installed: %s
|
|
333
|
+
PySide6 installed: %s
|
|
295
334
|
Tried to load: %r
|
|
296
335
|
""" % (loaded_api(),
|
|
297
336
|
has_binding(QT_API_PYQT),
|
|
298
337
|
has_binding(QT_API_PYQT5),
|
|
338
|
+
has_binding(QT_API_PYQT6),
|
|
299
339
|
has_binding(QT_API_PYSIDE),
|
|
300
340
|
has_binding(QT_API_PYSIDE2),
|
|
341
|
+
has_binding(QT_API_PYSIDE6),
|
|
301
342
|
api_options))
|
|
Binary file
|
{debugpy-1.8.2 → debugpy-1.8.3}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll
RENAMED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "2024-
|
|
11
|
+
"date": "2024-07-31T14:46:58-0500",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "1.8.
|
|
14
|
+
"full-revisionid": "dc58df149f5f6f71d44bd3389ad0e4b98d00b4bd",
|
|
15
|
+
"version": "1.8.3"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -38,7 +38,7 @@ def _api(cancelable=False):
|
|
|
38
38
|
wrapped = getattr(api, f.__name__)
|
|
39
39
|
return wrapped.cancel(*args, **kwargs)
|
|
40
40
|
|
|
41
|
-
wrapper.cancel = cancel
|
|
41
|
+
wrapper.cancel = cancel # pyright: ignore
|
|
42
42
|
|
|
43
43
|
return wrapper
|
|
44
44
|
|
|
@@ -46,7 +46,7 @@ def _api(cancelable=False):
|
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
@_api()
|
|
49
|
-
def log_to(__path: str) -> None:
|
|
49
|
+
def log_to(__path: str | typing.TextIO) -> None:
|
|
50
50
|
"""Generate detailed debugpy logs in the specified directory.
|
|
51
51
|
|
|
52
52
|
The directory must already exist. Several log files are generated,
|
|
@@ -117,7 +117,7 @@ def listen(
|
|
|
117
117
|
adapter that it starts. Use `wait_for_client` to block execution
|
|
118
118
|
until the client connects.
|
|
119
119
|
"""
|
|
120
|
-
|
|
120
|
+
...
|
|
121
121
|
|
|
122
122
|
@_api()
|
|
123
123
|
def connect(__endpoint: Endpoint | int, *, access_token: str | None = None) -> Endpoint:
|
|
@@ -135,7 +135,7 @@ def connect(__endpoint: Endpoint | int, *, access_token: str | None = None) -> E
|
|
|
135
135
|
adapter that it connects to. Use `wait_for_client` to block
|
|
136
136
|
execution until the client connects.
|
|
137
137
|
"""
|
|
138
|
-
|
|
138
|
+
...
|
|
139
139
|
|
|
140
140
|
@_api(cancelable=True)
|
|
141
141
|
def wait_for_client() -> None:
|
|
@@ -153,6 +153,7 @@ def is_client_connected() -> bool:
|
|
|
153
153
|
"""True if a client is connected to the debug adapter that is
|
|
154
154
|
debugging this process.
|
|
155
155
|
"""
|
|
156
|
+
...
|
|
156
157
|
|
|
157
158
|
|
|
158
159
|
@_api()
|