We can avoid specifying versions here, but ...
1. It won't be possible to run tests locally without checking what
versions are supported (going to TeamCity config)
2. It won't be possible to specify dependencies for each Python
version separately when it is required (not yet, but will be soon)
Hardcoding Python versions in two places for `pydevd` tests looks
ugly, but at the moment I have no better ideas. Will investigate as
a separate task in PCQA-447
(cherry picked from commit cc9e50cd7a742b8265497cdc56a49a6be0db38a8)
IJ-MR-138586
GitOrigin-RevId: 717d434d6fd72a6cb6ac0a361917ad22e8e62687
* removed unnecessary get_value_counts for statistics, as it's redundant
* removed the corresponding test
* fixed computing VISUALIZATION_DATA for tables in DataView, now visualizations are shown
* minor cleanup: got rid of unused variables
GitOrigin-RevId: 1772fd5cad8ba5777795460fca484e90d0ccef82
This modification streamlines the code as the lock needs to be obtained during the `update_handlers()` call regardless.
GitOrigin-RevId: c5d1d7ce9d3f5c3b81b63b8e6c4a26a72db3e666
`Thread._is_stopped` was removed in https://github.com/python/cpython/pull/114839 in Python 3.13
(cherry picked from commit d568bc288aed00268ffeef137b9b901f480964ef)
IJ-MR-137093
GitOrigin-RevId: aa8b27b09db85f69b44d6fbbd333f8ec32489d33
The global debugger reference should be set to `None` right away. Otherwise, the reference to the stopped debugger can leak to `ThreadTracer` leading to skipped breakpoints. The same applies for the thread local info. If it is not reset, the frame evaluation code will continue using a tracing function with the stale debugger reference.
GitOrigin-RevId: 62b38316e4da760213810a55aa98db289ce45720
Consecutive `stoptrace()` -> `settrace()` calls can cause `finish_debugging_session()` call from `ReaderThread`. If by the moment of execution the global debugger holder contains the new instance of debugger, this new debug session can be marked as finished instead of the old one.
GitOrigin-RevId: faac2b9648d81c49d72f884ca6a8464699fbf9e5
1. Split additional computation for statistics and computation for visualizations
2. Computation for visualization is now called only by request
GitOrigin-RevId: d872fbd9ed5732633814228713acc734ee2043e5
The `set_global_debugger` invocation has been moved to a later point to ensure all debugger fields are initialized first. This addresses potential issues in multithreaded environments where the debugger is accessible, but access to its fields may fail.
GitOrigin-RevId: 55dd63585f8dae94c6527d51dca3c2562b30c4ce
The root cause was introduced in PY-23540 (see cb598c94c5).
Namely, abs.ABCMeta was explicitly filtered out from the list of metaclasses in
`PyClassImpl.getMostDerivedClassType` because for some reason in Typeshed stubs for
Python 2 `basestring`, and hence `str`, uses `ABCMeta` as its metaclass,
which is not true at runtime. It caused a metaclass conflict when inheriting `str`
with another user-defined metaclass (`ABCMeta` and a user metaclass didn't extend
each other), so we didn't detect any metaclass in a class as a result.
I've updated Typeshed stubs for Python 2 manually to process ABCMeta normally.
We don't update these stubs anyway, so these changes won't be lost on a future
Typeshed sync.
GitOrigin-RevId: 680e9fa890d00ea63987f3cf73e636e430685f34
I've add-hoc updated typing_extensions.pyi in the bundled Typeshed to
recognize Unpack there.
GitOrigin-RevId: 953402e42984712a630c1772cf2f2cd4cbacdccf