debugpy 1.8.5__zip → 1.8.7__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.
Files changed (340) hide show
  1. {debugpy-1.8.5/src/debugpy.egg-info → debugpy-1.8.7}/PKG-INFO +1 -1
  2. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_calltip_util.py +19 -21
  3. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_completer.py +30 -30
  4. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_execfile.py +3 -1
  5. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py +43 -0
  6. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_getopt.py +35 -32
  7. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_imports_tipper.py +83 -84
  8. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_jy_imports_tipper.py +92 -99
  9. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_log.py +2 -3
  10. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_saved_modules.py +51 -27
  11. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_sys_patch.py +11 -7
  12. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_tipper_common.py +6 -5
  13. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/fsnotify/__init__.py +34 -38
  14. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_console_utils.py +71 -69
  15. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_import_hook.py +1 -3
  16. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_imports.py +0 -1
  17. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console.py +14 -16
  18. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console_011.py +81 -93
  19. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_is_thread_alive.py +3 -3
  20. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_localhost.py +9 -8
  21. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_log.py +33 -25
  22. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey.py +183 -170
  23. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey_qt.py +33 -29
  24. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_override.py +6 -4
  25. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_umd.py +19 -18
  26. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_versioncheck.py +3 -3
  27. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles.py +165 -138
  28. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py +77 -0
  29. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_nose.py +35 -36
  30. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel.py +22 -23
  31. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel_client.py +37 -57
  32. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_pytest2.py +54 -52
  33. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_unittest.py +28 -37
  34. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_xml_rpc.py +56 -53
  35. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py +604 -0
  36. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocol.json +551 -445
  37. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_base_schema.py +25 -29
  38. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py +17458 -0
  39. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema_log.py +11 -12
  40. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevconsole_code.py +18 -19
  41. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py +41 -0
  42. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py +328 -0
  43. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_api.py +263 -214
  44. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_breakpoints.py +7 -10
  45. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils.py +187 -92
  46. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils_py311.py +105 -0
  47. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_code_to_source.py +46 -51
  48. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_collect_bytecode_info.py +239 -176
  49. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm.py +370 -297
  50. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm_constants.py +78 -86
  51. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_command_line_handling.py +55 -59
  52. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_concurrency_logger.py +194 -58
  53. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_thread_wrappers.py +2 -3
  54. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_console.py +18 -23
  55. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_constants.py +159 -127
  56. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_custom_frames.py +10 -12
  57. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.c +55527 -0
  58. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pxd +15 -0
  59. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pyx +803 -511
  60. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython_wrapper.py +18 -7
  61. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_daemon_thread.py +32 -24
  62. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_defaults.py +11 -13
  63. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace.py +16 -16
  64. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace_files.py +27 -2
  65. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_exec2.py +1 -1
  66. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_api.py +4 -5
  67. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_utils.py +8 -10
  68. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_filtering.py +50 -45
  69. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame.py +462 -407
  70. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame_utils.py +69 -61
  71. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_gevent_integration.py +14 -16
  72. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_import_class.py +27 -25
  73. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_io.py +40 -42
  74. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py +200 -0
  75. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command.py +20 -19
  76. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_json.py +199 -108
  77. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_xml.py +121 -73
  78. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py +208 -0
  79. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command.py +206 -159
  80. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command_json.py +346 -334
  81. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_referrers.py +75 -80
  82. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_reload.py +35 -35
  83. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_resolver.py +116 -124
  84. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py +44 -58
  85. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_safe_repr.py +51 -55
  86. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_save_locals.py +4 -2
  87. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_signature.py +24 -24
  88. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_source_mapping.py +19 -20
  89. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_stackless.py +45 -49
  90. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_suspended_frames.py +61 -58
  91. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_thread_lifecycle.py +23 -13
  92. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_timeout.py +29 -31
  93. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch.py +41 -11
  94. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch_regular.py +117 -55
  95. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_traceproperty.py +11 -14
  96. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_utils.py +90 -89
  97. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py +106 -97
  98. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py +40 -0
  99. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_xml.py +56 -46
  100. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_cython_wrapper.py +5 -5
  101. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py +71 -0
  102. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.c +11165 -5326
  103. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_tracing.py +5 -6
  104. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_modify_bytecode.py +53 -56
  105. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__init__.py +1 -0
  106. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/bytecode.py +4 -6
  107. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/cfg.py +6 -26
  108. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/concrete.py +7 -21
  109. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/flags.py +5 -24
  110. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/instr.py +10 -34
  111. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/peephole_opt.py +1 -4
  112. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__init__.py +2 -6
  113. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_bytecode.py +3 -5
  114. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_cfg.py +11 -31
  115. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_code.py +2 -2
  116. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_concrete.py +14 -41
  117. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_flags.py +2 -4
  118. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_instr.py +7 -18
  119. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_misc.py +6 -18
  120. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_peephole_opt.py +7 -18
  121. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/util_annotation.py +1 -3
  122. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/pydevd_fix_code.py +14 -19
  123. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring.py +1929 -0
  124. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.c +43253 -0
  125. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pxd +46 -0
  126. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pyx +1935 -0
  127. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/pydevd_sys_monitoring.py +16 -0
  128. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_app_engine_debug_startup.py +12 -11
  129. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_coverage.py +30 -32
  130. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhook.py +58 -54
  131. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookglut.py +20 -24
  132. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk.py +8 -7
  133. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk3.py +8 -6
  134. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookpyglet.py +11 -8
  135. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt4.py +21 -18
  136. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt5.py +17 -15
  137. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt6.py +17 -15
  138. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhooktk.py +6 -4
  139. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookwx.py +14 -10
  140. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/matplotlibtools.py +30 -26
  141. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydev_ipython/qt.py +24 -0
  142. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_for_kernel.py +37 -34
  143. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_loaders.py +86 -73
  144. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/version.py +7 -7
  145. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydev_pysrc.py +1 -0
  146. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_run_in_console.py +23 -24
  147. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py +267 -0
  148. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevconsole.py +55 -47
  149. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd.py +732 -508
  150. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py +40 -0
  151. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_check.py +1 -0
  152. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py +11 -0
  153. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py +75 -0
  154. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py +130 -125
  155. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll +0 -0
  156. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb +0 -0
  157. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py +89 -0
  158. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_script.py +41 -32
  159. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll +0 -0
  160. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb +0 -0
  161. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_utils.hpp +1 -0
  162. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_version.hpp +9 -1
  163. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe +0 -0
  164. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb +0 -0
  165. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.exe +0 -0
  166. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb +0 -0
  167. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/lldb_prepare.py +10 -9
  168. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll +0 -0
  169. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb +0 -0
  170. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll +0 -0
  171. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb +0 -0
  172. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__init__.py +103 -119
  173. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/breakpoint.py +457 -516
  174. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/compat.py +33 -15
  175. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/crash.py +336 -281
  176. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/debug.py +101 -131
  177. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/disasm.py +148 -153
  178. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/event.py +310 -302
  179. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/interactive.py +235 -208
  180. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/module.py +185 -218
  181. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/process.py +428 -564
  182. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/registry.py +54 -53
  183. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/search.py +69 -73
  184. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/sql.py +158 -170
  185. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/system.py +143 -213
  186. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/textio.py +302 -333
  187. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/thread.py +220 -239
  188. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/util.py +198 -177
  189. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__init__.py +11 -11
  190. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/advapi32.py +1191 -713
  191. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_amd64.py +248 -194
  192. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_i386.py +132 -120
  193. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/dbghelp.py +450 -346
  194. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/defines.py +305 -286
  195. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py +526 -0
  196. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/kernel32.py +1479 -1097
  197. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py +579 -0
  198. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py +3517 -0
  199. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/psapi.py +54 -31
  200. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shell32.py +170 -149
  201. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shlwapi.py +190 -108
  202. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/user32.py +542 -437
  203. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/version.py +489 -442
  204. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/wtsapi32.py +83 -65
  205. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/window.py +70 -76
  206. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.cpp +17 -9
  207. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/compile_windows.bat +1 -1
  208. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_file_utils.py +141 -120
  209. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/__init__.py +1 -0
  210. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/django_debug.py +175 -149
  211. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/__init__.py +1 -0
  212. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__init__.py +1 -0
  213. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_helpers.py +5 -5
  214. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_numpy_types.py +28 -28
  215. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_pandas_types.py +22 -30
  216. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugins_django_form_str.py +3 -2
  217. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/jinja2_debug.py +130 -108
  218. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/pydevd_line_validation.py +27 -14
  219. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_tracing.py +85 -66
  220. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/setup_pydevd_cython.py +96 -59
  221. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_version.py +3 -3
  222. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/messaging.py +2 -1
  223. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/cli.py +32 -17
  224. {debugpy-1.8.5 → debugpy-1.8.7/src/debugpy.egg-info}/PKG-INFO +1 -1
  225. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/SOURCES.txt +6 -1
  226. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py +0 -41
  227. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py +0 -76
  228. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py +0 -592
  229. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py +0 -19514
  230. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py +0 -19
  231. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py +0 -153
  232. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.c +0 -43377
  233. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py +0 -204
  234. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py +0 -91
  235. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_api.py +0 -62
  236. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py +0 -41
  237. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py +0 -48
  238. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydev_ipython/qt.py +0 -23
  239. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydev_pysrc.py +0 -1
  240. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py +0 -237
  241. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py +0 -32
  242. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py +0 -9
  243. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py +0 -74
  244. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll +0 -0
  245. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb +0 -0
  246. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py +0 -79
  247. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll +0 -0
  248. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb +0 -0
  249. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe +0 -0
  250. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb +0 -0
  251. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb +0 -0
  252. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll +0 -0
  253. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb +0 -0
  254. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll +0 -0
  255. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb +0 -0
  256. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py +0 -507
  257. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py +0 -539
  258. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py +0 -3435
  259. {debugpy-1.8.5 → debugpy-1.8.7}/DESCRIPTION.md +0 -0
  260. {debugpy-1.8.5 → debugpy-1.8.7}/LICENSE +0 -0
  261. {debugpy-1.8.5 → debugpy-1.8.7}/MANIFEST.in +0 -0
  262. {debugpy-1.8.5 → debugpy-1.8.7}/README.md +0 -0
  263. {debugpy-1.8.5 → debugpy-1.8.7}/pyproject.toml +0 -0
  264. {debugpy-1.8.5 → debugpy-1.8.7}/setup.cfg +0 -0
  265. {debugpy-1.8.5 → debugpy-1.8.7}/setup.py +0 -0
  266. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/ThirdPartyNotices.txt +0 -0
  267. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/__init__.py +0 -0
  268. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/__main__.py +0 -0
  269. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/__init__.py +0 -0
  270. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/_pydevd_packaging.py +0 -0
  271. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/_util.py +0 -0
  272. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/force_pydevd.py +0 -0
  273. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/__init__.py +0 -0
  274. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/__init__.py +0 -0
  275. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/__init__.py +0 -0
  276. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__init__.py +0 -0
  277. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocolCustom.json +0 -0
  278. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__init__.py +0 -0
  279. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/.gitignore +0 -0
  280. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/__init__.py +0 -0
  281. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pxd +0 -0
  282. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pyx +0 -0
  283. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.template.pyx +0 -0
  284. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/release_mem.h +0 -0
  285. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/README.txt +0 -0
  286. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__init__.py +0 -0
  287. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/README +0 -0
  288. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/__init__.py +0 -0
  289. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_sitecustomize/__not_in_default_pythonpath.txt +0 -0
  290. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/README.txt +0 -0
  291. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace.hpp +0 -0
  292. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_310.hpp +0 -0
  293. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_311.hpp +0 -0
  294. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_common.hpp +0 -0
  295. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_settrace.hpp +0 -0
  296. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/python.h +0 -0
  297. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/ref_utils.hpp +0 -0
  298. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/.gitignore +0 -0
  299. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/attach.cpp +0 -0
  300. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_linux.sh +0 -0
  301. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_mac.sh +0 -0
  302. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_manylinux.cmd +0 -0
  303. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.h +0 -0
  304. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/inject_dll.cpp +0 -0
  305. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/py_win_helpers.hpp +0 -0
  306. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_in_memory.hpp +0 -0
  307. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_on_dllmain.cpp +0 -0
  308. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.cpp +0 -0
  309. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.h +0 -0
  310. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/targetver.h +0 -0
  311. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/README.md +0 -0
  312. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/__init__.py +0 -0
  313. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/__main__.py +0 -0
  314. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/clients.py +0 -0
  315. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/components.py +0 -0
  316. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/launchers.py +0 -0
  317. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/servers.py +0 -0
  318. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/sessions.py +0 -0
  319. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/__init__.py +0 -0
  320. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/json.py +0 -0
  321. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/log.py +0 -0
  322. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/singleton.py +0 -0
  323. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/sockets.py +0 -0
  324. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/stacks.py +0 -0
  325. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/timestamp.py +0 -0
  326. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/util.py +0 -0
  327. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/__init__.py +0 -0
  328. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/__main__.py +0 -0
  329. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/debuggee.py +0 -0
  330. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/handlers.py +0 -0
  331. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/output.py +0 -0
  332. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/winapi.py +0 -0
  333. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/public_api.py +0 -0
  334. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/__init__.py +0 -0
  335. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/api.py +0 -0
  336. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/attach_pid_injected.py +0 -0
  337. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/dependency_links.txt +0 -0
  338. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/entry_points.txt +0 -0
  339. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/top_level.txt +0 -0
  340. {debugpy-1.8.5 → debugpy-1.8.7}/versioneer.py +0 -0
@@ -1,6 +1,16 @@
1
- from _pydevd_bundle.pydevd_constants import get_frame, IS_CPYTHON, IS_64BIT_PROCESS, IS_WINDOWS, \
2
- IS_LINUX, IS_MAC, DebugInfoHolder, LOAD_NATIVE_LIB_FLAG, \
3
- ENV_FALSE_LOWER_VALUES, ForkSafeLock
1
+ from _pydevd_bundle.pydevd_constants import (
2
+ get_frame,
3
+ IS_CPYTHON,
4
+ IS_64BIT_PROCESS,
5
+ IS_WINDOWS,
6
+ IS_LINUX,
7
+ IS_MAC,
8
+ DebugInfoHolder,
9
+ LOAD_NATIVE_LIB_FLAG,
10
+ ENV_FALSE_LOWER_VALUES,
11
+ ForkSafeLock,
12
+ PYDEVD_USE_SYS_MONITORING,
13
+ )
4
14
  from _pydev_bundle._pydev_saved_modules import thread, threading
5
15
  from _pydev_bundle import pydev_log, pydev_monkey
6
16
  import os.path
@@ -14,8 +24,8 @@ _original_settrace = sys.settrace
14
24
 
15
25
 
16
26
  class TracingFunctionHolder:
17
- '''This class exists just to keep some variables (so that we don't keep them in the global namespace).
18
- '''
27
+ """This class exists just to keep some variables (so that we don't keep them in the global namespace)."""
28
+
19
29
  _original_tracing = None
20
30
  _warn = True
21
31
  _traceback_limit = 1
@@ -30,14 +40,15 @@ def get_exception_traceback_str():
30
40
 
31
41
 
32
42
  def _get_stack_str(frame):
33
-
34
- msg = '\nIf this is needed, please check: ' + \
35
- '\nhttp://pydev.blogspot.com/2007/06/why-cant-pydev-debugger-work-with.html' + \
36
- '\nto see how to restore the debug tracing back correctly.\n'
43
+ msg = (
44
+ "\nIf this is needed, please check: "
45
+ + "\nhttp://pydev.blogspot.com/2007/06/why-cant-pydev-debugger-work-with.html"
46
+ + "\nto see how to restore the debug tracing back correctly.\n"
47
+ )
37
48
 
38
49
  if TracingFunctionHolder._traceback_limit:
39
50
  s = StringIO()
40
- s.write('Call Location:\n')
51
+ s.write("Call Location:\n")
41
52
  traceback.print_stack(f=frame, limit=TracingFunctionHolder._traceback_limit, file=s)
42
53
  msg = msg + s.getvalue()
43
54
 
@@ -45,32 +56,34 @@ def _get_stack_str(frame):
45
56
 
46
57
 
47
58
  def _internal_set_trace(tracing_func):
59
+ if PYDEVD_USE_SYS_MONITORING:
60
+ raise RuntimeError("pydevd: Using sys.monitoring, sys.settrace should not be called.")
48
61
  if TracingFunctionHolder._warn:
49
62
  frame = get_frame()
50
63
  if frame is not None and frame.f_back is not None:
51
64
  filename = os.path.splitext(frame.f_back.f_code.co_filename.lower())[0]
52
- if filename.endswith('threadpool') and 'gevent' in filename:
65
+ if filename.endswith("threadpool") and "gevent" in filename:
53
66
  if tracing_func is None:
54
- pydev_log.debug('Disabled internal sys.settrace from gevent threadpool.')
67
+ pydev_log.debug("Disabled internal sys.settrace from gevent threadpool.")
55
68
  return
56
69
 
57
70
  elif not filename.endswith(
58
- (
59
- 'threading',
60
- 'pydevd_tracing',
61
- )
62
- ):
63
-
64
- message = \
65
- '\nPYDEV DEBUGGER WARNING:' + \
66
- '\nsys.settrace() should not be used when the debugger is being used.' + \
67
- '\nThis may cause the debugger to stop working correctly.' + \
68
- '%s' % _get_stack_str(frame.f_back)
71
+ (
72
+ "threading",
73
+ "pydevd_tracing",
74
+ )
75
+ ):
76
+ message = (
77
+ "\nPYDEV DEBUGGER WARNING:"
78
+ + "\nsys.settrace() should not be used when the debugger is being used."
79
+ + "\nThis may cause the debugger to stop working correctly."
80
+ + "%s" % _get_stack_str(frame.f_back)
81
+ )
69
82
 
70
83
  if message not in TracingFunctionHolder._warnings_shown:
71
84
  # only warn about each message once...
72
85
  TracingFunctionHolder._warnings_shown[message] = 1
73
- sys.stderr.write('%s\n' % (message,))
86
+ sys.stderr.write("%s\n" % (message,))
74
87
  sys.stderr.flush()
75
88
 
76
89
  if TracingFunctionHolder._original_tracing:
@@ -81,6 +94,8 @@ _last_tracing_func_thread_local = threading.local()
81
94
 
82
95
 
83
96
  def SetTrace(tracing_func):
97
+ if PYDEVD_USE_SYS_MONITORING:
98
+ raise RuntimeError("SetTrace should not be used when using sys.monitoring.")
84
99
  _last_tracing_func_thread_local.tracing_func = tracing_func
85
100
 
86
101
  if tracing_func is not None:
@@ -108,12 +123,16 @@ def reapply_settrace():
108
123
 
109
124
 
110
125
  def replace_sys_set_trace_func():
126
+ if PYDEVD_USE_SYS_MONITORING:
127
+ return
111
128
  if TracingFunctionHolder._original_tracing is None:
112
129
  TracingFunctionHolder._original_tracing = sys.settrace
113
130
  sys.settrace = _internal_set_trace
114
131
 
115
132
 
116
133
  def restore_sys_set_trace_func():
134
+ if PYDEVD_USE_SYS_MONITORING:
135
+ return
117
136
  if TracingFunctionHolder._original_tracing is not None:
118
137
  sys.settrace = TracingFunctionHolder._original_tracing
119
138
  TracingFunctionHolder._original_tracing = None
@@ -146,40 +165,40 @@ def get_python_helper_lib_filename():
146
165
  # debugger -- the only situation where it's imported is if the user actually does an attach to
147
166
  # process, through `attach_pydevd.py`, but this should usually be called from the IDE directly
148
167
  # and not from the debugger).
149
- libdir = os.path.join(os.path.dirname(__file__), 'pydevd_attach_to_process')
168
+ libdir = os.path.join(os.path.dirname(__file__), "pydevd_attach_to_process")
150
169
 
151
- arch = ''
170
+ arch = ""
152
171
  if IS_WINDOWS:
153
172
  # prefer not using platform.machine() when possible (it's a bit heavyweight as it may
154
173
  # spawn a subprocess).
155
- arch = os.environ.get("PROCESSOR_ARCHITEW6432", os.environ.get('PROCESSOR_ARCHITECTURE', ''))
174
+ arch = os.environ.get("PROCESSOR_ARCHITEW6432", os.environ.get("PROCESSOR_ARCHITECTURE", ""))
156
175
 
157
176
  if not arch:
158
177
  arch = platform.machine()
159
178
  if not arch:
160
- pydev_log.info('platform.machine() did not return valid value.') # This shouldn't happen...
179
+ pydev_log.info("platform.machine() did not return valid value.") # This shouldn't happen...
161
180
  return None
162
181
 
163
182
  if IS_WINDOWS:
164
- extension = '.dll'
165
- suffix_64 = 'amd64'
166
- suffix_32 = 'x86'
183
+ extension = ".dll"
184
+ suffix_64 = "amd64"
185
+ suffix_32 = "x86"
167
186
 
168
187
  elif IS_LINUX:
169
- extension = '.so'
170
- suffix_64 = 'amd64'
171
- suffix_32 = 'x86'
188
+ extension = ".so"
189
+ suffix_64 = "amd64"
190
+ suffix_32 = "x86"
172
191
 
173
192
  elif IS_MAC:
174
- extension = '.dylib'
175
- suffix_64 = 'x86_64'
176
- suffix_32 = 'x86'
193
+ extension = ".dylib"
194
+ suffix_64 = "x86_64"
195
+ suffix_32 = "x86"
177
196
 
178
197
  else:
179
- pydev_log.info('Unable to set trace to all threads in platform: %s', sys.platform)
198
+ pydev_log.info("Unable to set trace to all threads in platform: %s", sys.platform)
180
199
  return None
181
200
 
182
- if arch.lower() not in ('amd64', 'x86', 'x86_64', 'i386', 'x86'):
201
+ if arch.lower() not in ("amd64", "x86", "x86_64", "i386", "x86"):
183
202
  # We don't support this processor by default. Still, let's support the case where the
184
203
  # user manually compiled it himself with some heuristics.
185
204
  #
@@ -190,15 +209,15 @@ def get_python_helper_lib_filename():
190
209
  # - linux_and_mac/compile_mac.sh
191
210
 
192
211
  try:
193
- found = [name for name in os.listdir(libdir) if name.startswith('attach_') and name.endswith(extension)]
212
+ found = [name for name in os.listdir(libdir) if name.startswith("attach_") and name.endswith(extension)]
194
213
  except:
195
214
  if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 1:
196
215
  # There is no need to show this unless debug tracing is enabled.
197
- pydev_log.exception('Error listing dir: %s', libdir)
216
+ pydev_log.exception("Error listing dir: %s", libdir)
198
217
  return None
199
218
 
200
- expected_name = 'attach_' + arch + extension
201
- expected_name_linux = 'attach_linux_' + arch + extension
219
+ expected_name = "attach_" + arch + extension
220
+ expected_name_linux = "attach_linux_" + arch + extension
202
221
 
203
222
  filename = None
204
223
  if expected_name in found: # Heuristic: user compiled with "attach_<arch>.<extension>"
@@ -216,14 +235,10 @@ def get_python_helper_lib_filename():
216
235
  filename = os.path.join(libdir, found[0])
217
236
 
218
237
  if filename is None:
219
- pydev_log.info(
220
- 'Unable to set trace to all threads in arch: %s (did not find a %s lib in %s).',
221
- arch, expected_name, libdir
222
-
223
- )
238
+ pydev_log.info("Unable to set trace to all threads in arch: %s (did not find a %s lib in %s).", arch, expected_name, libdir)
224
239
  return None
225
240
 
226
- pydev_log.info('Using %s lib in arch: %s.', filename, arch)
241
+ pydev_log.info("Using %s lib in arch: %s.", filename, arch)
227
242
 
228
243
  else:
229
244
  # Happy path for which we have pre-compiled binaries.
@@ -233,26 +248,30 @@ def get_python_helper_lib_filename():
233
248
  suffix = suffix_32
234
249
 
235
250
  if IS_WINDOWS or IS_MAC: # just the extension changes
236
- prefix = 'attach_'
251
+ prefix = "attach_"
237
252
  elif IS_LINUX: #
238
- prefix = 'attach_linux_' # historically it has a different name
253
+ prefix = "attach_linux_" # historically it has a different name
239
254
  else:
240
- pydev_log.info('Unable to set trace to all threads in platform: %s', sys.platform)
255
+ pydev_log.info("Unable to set trace to all threads in platform: %s", sys.platform)
241
256
  return None
242
257
 
243
- filename = os.path.join(libdir, '%s%s%s' % (prefix, suffix, extension))
258
+ filename = os.path.join(libdir, "%s%s%s" % (prefix, suffix, extension))
244
259
 
245
260
  if not os.path.exists(filename):
246
- pydev_log.critical('Expected: %s to exist.', filename)
261
+ pydev_log.critical("Expected: %s to exist.", filename)
247
262
  return None
248
263
 
249
264
  return filename
250
265
 
251
266
 
252
267
  def _load_python_helper_lib_uncached():
253
- if (not IS_CPYTHON or sys.version_info[:2] > (3, 11)
254
- or hasattr(sys, 'gettotalrefcount') or LOAD_NATIVE_LIB_FLAG in ENV_FALSE_LOWER_VALUES):
255
- pydev_log.info('Helper lib to set tracing to all threads not loaded.')
268
+ if (
269
+ not IS_CPYTHON
270
+ or sys.version_info[:2] > (3, 11)
271
+ or hasattr(sys, "gettotalrefcount")
272
+ or LOAD_NATIVE_LIB_FLAG in ENV_FALSE_LOWER_VALUES
273
+ ):
274
+ pydev_log.info("Helper lib to set tracing to all threads not loaded.")
256
275
  return None
257
276
 
258
277
  try:
@@ -261,17 +280,19 @@ def _load_python_helper_lib_uncached():
261
280
  return None
262
281
  # Load as pydll so that we don't release the gil.
263
282
  lib = ctypes.pydll.LoadLibrary(filename)
264
- pydev_log.info('Successfully Loaded helper lib to set tracing to all threads.')
283
+ pydev_log.info("Successfully Loaded helper lib to set tracing to all threads.")
265
284
  return lib
266
285
  except:
267
286
  if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 1:
268
287
  # Only show message if tracing is on (we don't have pre-compiled
269
288
  # binaries for all architectures -- i.e.: ARM).
270
- pydev_log.exception('Error loading: %s', filename)
289
+ pydev_log.exception("Error loading: %s", filename)
271
290
  return None
272
291
 
273
292
 
274
293
  def set_trace_to_threads(tracing_func, thread_idents=None, create_dummy_thread=True):
294
+ if PYDEVD_USE_SYS_MONITORING:
295
+ raise RuntimeError("Should not be called when using sys.monitoring.")
275
296
  assert tracing_func is not None
276
297
 
277
298
  ret = 0
@@ -288,7 +309,7 @@ def set_trace_to_threads(tracing_func, thread_idents=None, create_dummy_thread=T
288
309
  # PY-44778: ignore pydevd threads and also add any thread that wasn't found on
289
310
  # sys._current_frames() as some existing threads may not appear in
290
311
  # sys._current_frames() but may be available through the `threading` module.
291
- if getattr(t, 'pydev_do_not_trace', False):
312
+ if getattr(t, "pydev_do_not_trace", False):
292
313
  thread_idents.discard(t.ident)
293
314
  else:
294
315
  thread_idents.add(t.ident)
@@ -310,7 +331,6 @@ def set_trace_to_threads(tracing_func, thread_idents=None, create_dummy_thread=T
310
331
  if thread_ident not in threading._active:
311
332
 
312
333
  class _DummyThread(threading._DummyThread):
313
-
314
334
  def _set_ident(self):
315
335
  # Note: Hack to set the thread ident that we want.
316
336
  self._ident = thread_ident
@@ -331,7 +351,7 @@ def set_trace_to_threads(tracing_func, thread_idents=None, create_dummy_thread=T
331
351
 
332
352
  if t.ident != thread_ident:
333
353
  # Check if it actually worked.
334
- pydev_log.critical('pydevd: creation of _DummyThread with fixed thread ident did not succeed.')
354
+ pydev_log.critical("pydevd: creation of _DummyThread with fixed thread ident did not succeed.")
335
355
 
336
356
  # Some (ptvsd) tests failed because of this, so, leave it always disabled for now.
337
357
  # show_debug_info = 1 if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 1 else 0
@@ -360,7 +380,7 @@ def set_trace_to_threads(tracing_func, thread_idents=None, create_dummy_thread=T
360
380
 
361
381
  lib = _load_python_helper_lib()
362
382
  if lib is None: # This is the case if it's not CPython.
363
- pydev_log.info('Unable to load helper lib to set tracing to all threads (unsupported python vm).')
383
+ pydev_log.info("Unable to load helper lib to set tracing to all threads (unsupported python vm).")
364
384
  ret = -1
365
385
  else:
366
386
  try:
@@ -374,12 +394,11 @@ def set_trace_to_threads(tracing_func, thread_idents=None, create_dummy_thread=T
374
394
  except:
375
395
  if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 1:
376
396
  # There is no need to show this unless debug tracing is enabled.
377
- pydev_log.exception('Error attaching debugger tracing')
397
+ pydev_log.exception("Error attaching debugger tracing")
378
398
  ret = -1
379
399
  else:
380
400
  if result != 0:
381
- pydev_log.info('Unable to set tracing for existing thread. Result: %s', result)
401
+ pydev_log.info("Unable to set tracing for existing thread. Result: %s", result)
382
402
  ret = result
383
403
 
384
404
  return ret
385
-
@@ -1,4 +1,4 @@
1
- '''
1
+ """
2
2
  A simpler setup version just to compile the speedup module.
3
3
 
4
4
  It should be used as:
@@ -7,7 +7,7 @@ python setup_pydevd_cython build_ext --inplace
7
7
 
8
8
  Note: the .c file and other generated files are regenerated from
9
9
  the .pyx file by running "python build_tools/build.py"
10
- '''
10
+ """
11
11
 
12
12
  import os
13
13
  import sys
@@ -15,8 +15,9 @@ from setuptools import setup
15
15
 
16
16
  os.chdir(os.path.dirname(os.path.abspath(__file__)))
17
17
 
18
- IS_PY36_OR_GREATER = sys.version_info > (3, 6)
19
- TODO_PY311 = sys.version_info > (3, 11)
18
+ IS_PY36_OR_GREATER = sys.version_info[:2] >= (3, 6)
19
+ IS_PY311_ONWARDS = sys.version_info[:2] >= (3, 11)
20
+ IS_PY312_ONWARDS = sys.version_info[:2] >= (3, 12)
20
21
 
21
22
 
22
23
  def process_args():
@@ -26,16 +27,16 @@ def process_args():
26
27
  force_cython = False
27
28
 
28
29
  for i, arg in enumerate(sys.argv[:]):
29
- if arg == '--build-lib':
30
+ if arg == "--build-lib":
30
31
  extension_folder = sys.argv[i + 1]
31
32
  # It shouldn't be removed from sys.argv (among with --build-temp) because they're passed further to setup()
32
- if arg.startswith('--target-pyd-name='):
33
+ if arg.startswith("--target-pyd-name="):
33
34
  sys.argv.remove(arg)
34
- target_pydevd_name = arg[len('--target-pyd-name='):]
35
- if arg.startswith('--target-pyd-frame-eval='):
35
+ target_pydevd_name = arg[len("--target-pyd-name=") :]
36
+ if arg.startswith("--target-pyd-frame-eval="):
36
37
  sys.argv.remove(arg)
37
- target_frame_eval = arg[len('--target-pyd-frame-eval='):]
38
- if arg == '--force-cython':
38
+ target_frame_eval = arg[len("--target-pyd-frame-eval=") :]
39
+ if arg == "--force-cython":
39
40
  sys.argv.remove(arg)
40
41
  force_cython = True
41
42
 
@@ -44,26 +45,32 @@ def process_args():
44
45
 
45
46
  def process_template_lines(template_lines):
46
47
  # Create 2 versions of the template, one for Python 3.8 and another for Python 3.9
47
- for version in ('38', '39'):
48
- yield '### WARNING: GENERATED CODE, DO NOT EDIT!'
49
- yield '### WARNING: GENERATED CODE, DO NOT EDIT!'
50
- yield '### WARNING: GENERATED CODE, DO NOT EDIT!'
48
+ for version in ("38", "39"):
49
+ yield "### WARNING: GENERATED CODE, DO NOT EDIT!"
50
+ yield "### WARNING: GENERATED CODE, DO NOT EDIT!"
51
+ yield "### WARNING: GENERATED CODE, DO NOT EDIT!"
51
52
 
52
53
  for line in template_lines:
53
- if version == '38':
54
- line = line.replace('get_bytecode_while_frame_eval(PyFrameObject * frame_obj, int exc)', 'get_bytecode_while_frame_eval_38(PyFrameObject * frame_obj, int exc)')
55
- line = line.replace('CALL_EvalFrameDefault', 'CALL_EvalFrameDefault_38(frame_obj, exc)')
54
+ if version == "38":
55
+ line = line.replace(
56
+ "get_bytecode_while_frame_eval(PyFrameObject * frame_obj, int exc)",
57
+ "get_bytecode_while_frame_eval_38(PyFrameObject * frame_obj, int exc)",
58
+ )
59
+ line = line.replace("CALL_EvalFrameDefault", "CALL_EvalFrameDefault_38(frame_obj, exc)")
56
60
  else: # 3.9
57
- line = line.replace('get_bytecode_while_frame_eval(PyFrameObject * frame_obj, int exc)', 'get_bytecode_while_frame_eval_39(PyThreadState* tstate, PyFrameObject * frame_obj, int exc)')
58
- line = line.replace('CALL_EvalFrameDefault', 'CALL_EvalFrameDefault_39(tstate, frame_obj, exc)')
61
+ line = line.replace(
62
+ "get_bytecode_while_frame_eval(PyFrameObject * frame_obj, int exc)",
63
+ "get_bytecode_while_frame_eval_39(PyThreadState* tstate, PyFrameObject * frame_obj, int exc)",
64
+ )
65
+ line = line.replace("CALL_EvalFrameDefault", "CALL_EvalFrameDefault_39(tstate, frame_obj, exc)")
59
66
 
60
67
  yield line
61
68
 
62
- yield '### WARNING: GENERATED CODE, DO NOT EDIT!'
63
- yield '### WARNING: GENERATED CODE, DO NOT EDIT!'
64
- yield '### WARNING: GENERATED CODE, DO NOT EDIT!'
65
- yield ''
66
- yield ''
69
+ yield "### WARNING: GENERATED CODE, DO NOT EDIT!"
70
+ yield "### WARNING: GENERATED CODE, DO NOT EDIT!"
71
+ yield "### WARNING: GENERATED CODE, DO NOT EDIT!"
72
+ yield ""
73
+ yield ""
67
74
 
68
75
 
69
76
  def process_template_file(contents):
@@ -72,16 +79,16 @@ def process_template_file(contents):
72
79
 
73
80
  append_to = ret
74
81
  for line in contents.splitlines(keepends=False):
75
- if line.strip() == '### TEMPLATE_START':
82
+ if line.strip() == "### TEMPLATE_START":
76
83
  append_to = template_lines
77
- elif line.strip() == '### TEMPLATE_END':
84
+ elif line.strip() == "### TEMPLATE_END":
78
85
  append_to = ret
79
86
  for line in process_template_lines(template_lines):
80
87
  ret.append(line)
81
88
  else:
82
89
  append_to.append(line)
83
90
 
84
- return '\n'.join(ret)
91
+ return "\n".join(ret)
85
92
 
86
93
 
87
94
  def build_extension(dir_name, extension_name, target_pydevd_name, force_cython, extended=False, has_pxd=False, template=False):
@@ -89,12 +96,12 @@ def build_extension(dir_name, extension_name, target_pydevd_name, force_cython,
89
96
 
90
97
  if template:
91
98
  pyx_template_file = os.path.join(os.path.dirname(__file__), dir_name, "%s.template.pyx" % (extension_name,))
92
- with open(pyx_template_file, 'r') as stream:
99
+ with open(pyx_template_file, "r") as stream:
93
100
  contents = stream.read()
94
101
 
95
102
  contents = process_template_file(contents)
96
103
 
97
- with open(pyx_file, 'w') as stream:
104
+ with open(pyx_file, "w") as stream:
98
105
  stream.write(contents)
99
106
 
100
107
  if target_pydevd_name != extension_name:
@@ -117,7 +124,9 @@ def build_extension(dir_name, extension_name, target_pydevd_name, force_cython,
117
124
  assert os.path.exists(pyx_file)
118
125
 
119
126
  try:
120
- c_files = [os.path.join(dir_name, "%s.c" % target_pydevd_name), ]
127
+ c_files = [
128
+ os.path.join(dir_name, "%s.c" % target_pydevd_name),
129
+ ]
121
130
  if force_cython:
122
131
  for c_file in c_files:
123
132
  try:
@@ -127,45 +136,57 @@ def build_extension(dir_name, extension_name, target_pydevd_name, force_cython,
127
136
  from Cython.Build import cythonize # @UnusedImport
128
137
  # Generate the .c files in cythonize (will not compile at this point).
129
138
 
130
- target = "%s/%s.pyx" % (dir_name, target_pydevd_name,)
139
+ target = "%s/%s.pyx" % (
140
+ dir_name,
141
+ target_pydevd_name,
142
+ )
131
143
  cythonize([target])
132
144
 
133
145
  # Workarounds needed in CPython 3.8 and 3.9 to access PyInterpreterState.eval_frame.
134
146
  for c_file in c_files:
135
- with open(c_file, 'r') as stream:
147
+ with open(c_file, "r") as stream:
136
148
  c_file_contents = stream.read()
137
149
 
138
150
  if '#include "internal/pycore_gc.h"' not in c_file_contents:
139
- c_file_contents = c_file_contents.replace('#include "Python.h"', '''#include "Python.h"
151
+ c_file_contents = c_file_contents.replace(
152
+ '#include "Python.h"',
153
+ """#include "Python.h"
140
154
  #if PY_VERSION_HEX >= 0x03090000
141
155
  #include "internal/pycore_gc.h"
142
156
  #include "internal/pycore_interp.h"
143
157
  #endif
144
- ''')
158
+ """,
159
+ )
145
160
 
146
161
  if '#include "internal/pycore_pystate.h"' not in c_file_contents:
147
- c_file_contents = c_file_contents.replace('#include "pystate.h"', '''#include "pystate.h"
162
+ c_file_contents = c_file_contents.replace(
163
+ '#include "pystate.h"',
164
+ """#include "pystate.h"
148
165
  #if PY_VERSION_HEX >= 0x03080000
149
166
  #include "internal/pycore_pystate.h"
150
167
  #endif
151
- ''')
168
+ """,
169
+ )
152
170
 
153
171
  # We want the same output on Windows and Linux.
154
- c_file_contents = c_file_contents.replace('\r\n', '\n').replace('\r', '\n')
155
- c_file_contents = c_file_contents.replace(r'_pydevd_frame_eval\\release_mem.h', '_pydevd_frame_eval/release_mem.h')
156
- c_file_contents = c_file_contents.replace(r'_pydevd_frame_eval\\pydevd_frame_evaluator.pyx', '_pydevd_frame_eval/pydevd_frame_evaluator.pyx')
157
- c_file_contents = c_file_contents.replace(r'_pydevd_bundle\\pydevd_cython.pxd', '_pydevd_bundle/pydevd_cython.pxd')
158
- c_file_contents = c_file_contents.replace(r'_pydevd_bundle\\pydevd_cython.pyx', '_pydevd_bundle/pydevd_cython.pyx')
159
-
160
- with open(c_file, 'w') as stream:
172
+ c_file_contents = c_file_contents.replace("\r\n", "\n").replace("\r", "\n")
173
+ c_file_contents = c_file_contents.replace(r"_pydevd_frame_eval\\release_mem.h", "_pydevd_frame_eval/release_mem.h")
174
+ c_file_contents = c_file_contents.replace(
175
+ r"_pydevd_frame_eval\\pydevd_frame_evaluator.pyx", "_pydevd_frame_eval/pydevd_frame_evaluator.pyx"
176
+ )
177
+ c_file_contents = c_file_contents.replace(r"_pydevd_bundle\\pydevd_cython.pxd", "_pydevd_bundle/pydevd_cython.pxd")
178
+ c_file_contents = c_file_contents.replace(r"_pydevd_bundle\\pydevd_cython.pyx", "_pydevd_bundle/pydevd_cython.pyx")
179
+
180
+ with open(c_file, "w") as stream:
161
181
  stream.write(c_file_contents)
162
182
 
163
183
  # Always compile the .c (and not the .pyx) file (which we should keep up-to-date by running build_tools/build.py).
164
184
  from distutils.extension import Extension
185
+
165
186
  extra_compile_args = []
166
187
  extra_link_args = []
167
188
 
168
- if 'linux' in sys.platform:
189
+ if "linux" in sys.platform:
169
190
  # Enabling -flto brings executable from 4MB to 0.56MB and -Os to 0.41MB
170
191
  # Profiling shows an execution around 3-5% slower with -Os vs -O3,
171
192
  # so, kept only -flto.
@@ -181,70 +202,86 @@ def build_extension(dir_name, extension_name, target_pydevd_name, force_cython,
181
202
  # extra_compile_args = ["-flto", "-fprofile-generate"]
182
203
  # ... Run benchmarks ...
183
204
  # extra_compile_args = ["-flto", "-fprofile-use", "-fprofile-correction"]
184
- elif 'win32' in sys.platform:
205
+ elif "win32" in sys.platform:
185
206
  pass
186
207
  # uncomment to generate pdbs for visual studio.
187
208
  # extra_compile_args=["-Zi", "/Od"]
188
209
  # extra_link_args=["-debug"]
210
+ if IS_PY311_ONWARDS:
211
+ # On py311 we need to add the CPython include folder to the include path.
212
+ extra_compile_args.append("-I%s\\include\\CPython" % sys.exec_prefix)
189
213
 
190
214
  kwargs = {}
191
215
  if extra_link_args:
192
- kwargs['extra_link_args'] = extra_link_args
216
+ kwargs["extra_link_args"] = extra_link_args
193
217
  if extra_compile_args:
194
- kwargs['extra_compile_args'] = extra_compile_args
218
+ kwargs["extra_compile_args"] = extra_compile_args
195
219
 
196
220
  ext_modules = [
197
221
  Extension(
198
- "%s%s.%s" % (dir_name, "_ext" if extended else "", target_pydevd_name,),
222
+ "%s%s.%s"
223
+ % (
224
+ dir_name,
225
+ "_ext" if extended else "",
226
+ target_pydevd_name,
227
+ ),
199
228
  c_files,
200
- **kwargs
201
- )]
229
+ **kwargs,
230
+ )
231
+ ]
202
232
 
203
233
  # This is needed in CPython 3.8 to be able to include internal/pycore_pystate.h
204
234
  # (needed to set PyInterpreterState.eval_frame).
205
235
  for module in ext_modules:
206
- module.define_macros = [('Py_BUILD_CORE_MODULE', '1')]
207
- setup(
208
- name='Cythonize',
209
- ext_modules=ext_modules
210
- )
236
+ module.define_macros = [("Py_BUILD_CORE_MODULE", "1")]
237
+ setup(name="Cythonize", ext_modules=ext_modules)
211
238
  finally:
212
239
  if target_pydevd_name != extension_name:
213
240
  try:
214
241
  os.remove(new_pyx_file)
215
242
  except:
216
243
  import traceback
244
+
217
245
  traceback.print_exc()
218
246
  try:
219
247
  os.remove(new_c_file)
220
248
  except:
221
249
  import traceback
250
+
222
251
  traceback.print_exc()
223
252
  if has_pxd:
224
253
  try:
225
254
  os.remove(new_pxd_file)
226
255
  except:
227
256
  import traceback
257
+
228
258
  traceback.print_exc()
229
259
 
230
260
 
231
261
  extension_folder, target_pydevd_name, target_frame_eval, force_cython = process_args()
232
262
 
263
+ FORCE_BUILD_ALL = os.environ.get("PYDEVD_FORCE_BUILD_ALL", "").lower() in ("true", "1")
264
+
233
265
  extension_name = "pydevd_cython"
234
266
  if target_pydevd_name is None:
235
267
  target_pydevd_name = extension_name
236
268
  build_extension("_pydevd_bundle", extension_name, target_pydevd_name, force_cython, extension_folder, True)
237
269
 
238
- if IS_PY36_OR_GREATER and not TODO_PY311:
270
+ if IS_PY36_OR_GREATER and not IS_PY311_ONWARDS or FORCE_BUILD_ALL:
239
271
  extension_name = "pydevd_frame_evaluator"
240
272
  if target_frame_eval is None:
241
273
  target_frame_eval = extension_name
242
274
  build_extension("_pydevd_frame_eval", extension_name, target_frame_eval, force_cython, extension_folder, True, template=True)
243
275
 
276
+ if IS_PY312_ONWARDS or FORCE_BUILD_ALL:
277
+ extension_name = "_pydevd_sys_monitoring_cython"
278
+ build_extension("_pydevd_sys_monitoring", extension_name, extension_name, force_cython, extension_folder, True)
279
+
244
280
  if extension_folder:
245
281
  os.chdir(extension_folder)
246
- for folder in [file for file in os.listdir(extension_folder) if
247
- file != 'build' and os.path.isdir(os.path.join(extension_folder, file))]:
282
+ for folder in [
283
+ file for file in os.listdir(extension_folder) if file != "build" and os.path.isdir(os.path.join(extension_folder, file))
284
+ ]:
248
285
  file = os.path.join(folder, "__init__.py")
249
286
  if not os.path.exists(file):
250
- open(file, 'a').close()
287
+ open(file, "a").close()
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2024-08-05T18:01:01-0500",
11
+ "date": "2024-10-10T09:03:34-0700",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "a68a804f7a4a4b0d39cb1fc96ca54648f465583e",
15
- "version": "1.8.5"
14
+ "full-revisionid": "f7d5df027c0407ac02c080bb4c39eab963913bf6",
15
+ "version": "1.8.7"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18