330 Commits
Author SHA1 Message Date
Vitaly Legchilkinandintellij-monorepo-bot e9f911fb1d PY-88517 Make pythonSdkConfigurationMutex per-project to prevent cross-project notifications
The mutex was a global singleton whose isLocked StateFlow was observed by
every project's InterpreterFixExecutor. A lock state change from any
project fanned out updateAllNotifications() to all projects, triggering
stale cache refreshes with visible "Checking existing environments"
progress bars in idle projects.

Replace the global val with a per-project service so each project
observes only its own mutex state.


(cherry picked from commit cc14dce7d07231f6d7d4c3f654cdd8d3a2099ffc)

IJ-MR-197413

GitOrigin-RevId: 65753107b7fe9e654c99f7097f1f41c0499231dc
2026-03-23 17:25:40 +00:00
Vitaly Legchilkinandintellij-monorepo-bot 905a03020b PY-88280 Fix deadlock: move SDK configuration mutex from setupSdk to callers
setupSdk held pythonSdkConfigurationMutex internally, but callers also
acquired the same non-reentrant mutex, causing a deadlock (coroutine
suspended forever waiting for itself).

Fix: remove the lock from setupSdk and add it to all SDK creation entry
points instead:

- PythonAddLocalInterpreterPresenter.okClicked
- NewProjectWizardPythonData.setupProject
- PyV3BaseProjectSettings.generateAndGetSdk
- PySdkFromEnvironmentVariableConfigurator (converted from runInEdt
  to coroutine with mutex + EDT context)
- createVenvAndSdk callers: lib.kt (misc project), welcome screen,
  features trainer (lock added at call site since auto-configurators
  already hold the lock when calling createVenvAndSdk)


(cherry picked from commit 0c09d55232423a557e4020f2826b8138f6c6d44b)

IJ-MR-196825

GitOrigin-RevId: 999d876acaf036e805bda8d007e4ab158c3ec525
2026-03-19 00:54:08 +00:00
Konstantin Hudyakovandintellij-monorepo-bot 40abaa7658 [IFT] IJPL-221468 Refactor: use other toString implementation for SeResultListItemRow
Also, had to make `SeTargetItemPresentationImpl` to make it implement `toString`.
Refactored logic in IFT to make it work with both new SE and the old one.


(cherry picked from commit 064677d3c08f74c3966aa66b5f0cee5b68459a42)

IJ-CR-193450

GitOrigin-RevId: 234d30730e2ac11db06aca54abfd7fa836be1e10
2026-03-02 18:55:50 +00:00
Konstantin Hudyakovandintellij-monorepo-bot 861406cf58 [IFT] IJPL-221468 Adapt Python Onboarding Tour lesson for new SE
(cherry picked from commit 926b10bea8d1b6c64115df88df910c85a56db927)

IJ-CR-193450

GitOrigin-RevId: 52e2daaf32ec16fd5872ceb127cb6dec8df38cda
2026-03-02 18:55:49 +00:00
Ilya.Kazakevichandintellij-monorepo-bot d17f8bbe67 cleanup [python]: remove unused symbols
GitOrigin-RevId: fbe0990d113825039ca6341860c24915a1493cf7
2026-02-11 05:14:23 +00:00
Leonid Shalupovandintellij-monorepo-bot 188b7ef96f IJI-3282 Optimize imports
GitOrigin-RevId: 3b5c00d8ff20b8d0bb6005bc450921085d2da9b2
2026-01-31 17:03:42 +00:00
Alexey Katsmanandintellij-monorepo-bot 9ebdd29d37 PY-87232 Change venv module name
GitOrigin-RevId: faf2719abc6236f93840f7a2e34e58eec9f6e868
2026-01-29 13:25:49 +00:00
Alexey Katsmanandintellij-monorepo-bot 0dada0f9c1 PY-86991 Remove Python sdk configurators dialogs
Dialogs are no longer used in sdk configurators, so those were removed.

System pythons are sorted in a way so that free-threaded Python won't be
the first one (as it's unstable and may cause issues when used as a
default for venv creation).

Venv creation is now the default fallback, so that we won't use system
python as an interpreter.

SdkCreator won't return nullable SDK anymore. Also WSL sdk configurator
should be supported by respective tools, no need in a separate
configurator.

GitOrigin-RevId: 4db65e50363ced52a9ab468c56191095354d3fa2
2026-01-27 20:03:34 +00:00
Anton Efimchukandintellij-monorepo-bot 4f5b07293f PY-86778 [python] Migrate Python test environments from local builds to prebuilt standalone distributions
Replace Gradle-based local Python compilation with prebuilt standalone distributions
downloaded from JetBrains cache redirector. Introduces provider-based architecture
for test environment management with improved JUnit4/JUnit5 integration.

Key changes:
- Remove setup-test-environment Gradle module and build infrastructure
- Introduce python-test-env modules (core, common, plain, conda, uv, junit4, junit5)
- Implement PyEnvironmentProvider/PyEnvironmentSpec abstractions
- Add JUnit5 annotations (@RequiresPoetry, @RequiresUv, @RunOnEnvironments)
- Implement caching system with PyEnvDownloadCache and variant-specific directories
- Predefined environments like: VANILLA_2_7, VANILLA_3_11, VANILLA_3_12, VANILLA_3_13

Benefits:
- Faster test environment provisioning (no compilation required)
- Consistent cross-platform behavior with identical Python builds
- Improved reliability by eliminating platform-specific build failures
- Better test framework integration with parameterized environment testing

GitOrigin-RevId: a44957c3014f9e1fc7dbec347a7e245675f999c1
2026-01-10 00:33:44 +00:00
Vladimir Krivosheevandintellij-monorepo-bot 9102a339c5 IJPL-218803 IJ-MR-179029 IJ-MR-175479 IJ-MR-184126 don't export execution from lang to avoid excessive and incorrect deps on debugger
GitOrigin-RevId: f27713c975606c010f230539bc7ffe7f9c6c815c
2025-11-29 15:49:21 +00:00
Alexey Katsmanandintellij-monorepo-bot 9069551acf PY-85634 Move InterpreterSettingsQuickFix to a separate file
GitOrigin-RevId: 1f7710f5403d865fcbab137c46b4004b4cc65dcf
2025-11-25 16:27:23 +00:00
Alexey Katsmanandintellij-monorepo-bot a4113620a0 PY-85634 Move PyInterpreterInspection to a separate package
GitOrigin-RevId: f2634ff572dc057d62c042a86349e7cd6b0fed42
2025-11-25 16:27:23 +00:00
Alexey Katsmanandintellij-monorepo-bot efa8a7a246 [python] PY-84777 Use system pythons as a fallback for SDK configuration
There was a problem with detecting system-wide pythons, which relied on
binary not being a part of conda env or virtualenv. But it led to
unrelated Hatch and Poetry pythons automatically configured as
interpreters in new projects. Another problem is that free-threaded
python was chosen as default interpreter with highest priority because
of the newest version.

This change uses SystemPythonService to detect system pythons properly,
also free-threaded python used as a default interpreter only if it's the
only available option.


Merge-request: IJ-MR-179008
Merged-by: Alexey Katsman <alexey.katsman@jetbrains.com>

GitOrigin-RevId: f32238b063575a125642ee91984ed45ba47010ec
2025-10-21 12:52:02 +00:00
David Lysenkoandintellij-monorepo-bot f9835df460 PY-81494
[pycharm] PY-81494 Fix further flakiness

[pycharm] PY-81494 Address feedback

[pycharm] PY-81494 Fix flakiness

[pycharm] PY-81494 Separate modules

[pycharm] PY-81494 Fix tests

[pycharm] PY-81494 Change waitFor to awaitExit for coroutines

[pycharm] PY-81494 Configuration fixes

[pycharm] PY-81494 Add usage statistics

[pycharm] PY-81494 Address feedback

[pycharm] PY-81494 Add more limit tests

[pycharm] PY-81494 Post-rebase fixes

[pycharm] PY-81494 Implement logging tests

[pycharm] PY-81494 Final design adjustments

[pycharm] PY-81494 Refactor flows

[pycharm] PY-81494 Add more OutputSection tests

[pycharm] PY-81494 Add Toolbar tests

[pycharm] PY-81494 Add InterText tests

[pycharm] PY-81494 Add FilterActionGroup tests

[pycharm] PY-81494 Add EmptyContainerNotice tests

[pycharm] PY-81494 Add CollapsibleListSection tests

[pycharm] PY-81494 Add ActionIconButton tests

[pycharm] PY-81494 Address feedback

[pycharm] PY-81494 Address feedback

[pycharm] PY-81494 Post-rebase fixes

[pycharm] PY-81494 Address initial feedback

[pycharm] PY-81494 Fix existing tests & add new to tree

[pycharm] PY-81494 Implement copy to clipboard button

[pycharm] PY-81494 Amend design

[pycharm] PY-81494 Begin implementing output tests

[pycharm] PY-81494 Refactor file structure

[pycharm] PY-81494 Implement tests for process list

[pycharm] PY-81494 wip tests for process list

[pycharm] PY-81494 Finishing touches

[pycharm] PY-81494 Consolidate list logic in the model

[pycharm] PY-81494 Add logging limits

[pycharm] PY-81494 Implement open tool window on exec service error

[pycharm] PY-81494 Implement open command in terminal

[pycharm] PY-81494 Add expansion actions

[pycharm] PY-81494 Implement categorization by coroutine names

[pycharm] PY-81494 Memorize expansion states between tool window openings

[pycharm] PY-81494 Memorize scroll state between tool window openings

[pycharm] PY-81494 Introduce collapsible section for process info

[pycharm] PY-81494 Implement view setting filtering

[pycharm] PY-81494 Refactor process logging to use shared flows

[pycharm] PY-81494 Implement tests for ProcessList composable

[pycharm] PY-81494 Implement process toolwindow prototype


Merge-request: IJ-MR-176106
Merged-by: David Lysenko <david.lysenko@jetbrains.com>

GitOrigin-RevId: 16ffe4980f92254afd269f5c65bb5cf4d5d78fc9
2025-10-21 07:58:13 +00:00
Vladimir Krivosheevandintellij-monorepo-bot b1d6fa74be IJPL-212791 IJ-MR-179029 Add intellij.platform.core.impl module dependency
GitOrigin-RevId: 3db5af6bec5f5db2eb7a4f9935dcfeb79f9ab3ab
2025-10-18 11:59:09 +00:00
Liudmila Kornilovaandintellij-monorepo-bot 02eb739a2e [indexing] IJPL-197540 Reconsider Indexing wording in hints and feedback notifications ("indexing") (3)
GitOrigin-RevId: 650c42150db6d3c534ebf771a651448e70499d57
2025-10-17 11:03:04 +00:00
Ilia Kirianovskiiandintellij-monorepo-bot c4bd433a34 [python] Add intellij.featuresTrainer._test module descriptor to run tests in dev-mode (IJPL-116621)
GitOrigin-RevId: 3c79fdc38d4b311241c5ebb569dc56cb2cb96a1a
2025-10-15 00:45:46 +00:00
Vladimir Krivosheevandintellij-monorepo-bot 67a6dac7f8 IJPL-209476 IJ-CR-146078 kotlinx-datetime-jvm, kotlinx-document-store-mvstore, kotlinx-html-jvm, kotlinx-serialization-protobuf, kotlinx-collections-immutable
GitOrigin-RevId: 058331a1e834d7780456f98d003afe56abfc36a0
2025-10-12 11:10:47 +00:00
Nikolay Chashnikovandintellij-monorepo-bot c3d006d45e [plugin model] use 'internal' visibility for content modules which are used from modules of other plugins (IJPL-207059)
These modules and their classes don't have external usages, so they shouldn't be made 'public' at least for now. The 'namespace' is also set to 'jetbrains' for plugins which contain such modules or modules which use them to allow 'internal' visibility to work.

GitOrigin-RevId: 198007e49320075dc27faadde6963e98332296a4
2025-10-08 18:39:06 +00:00
Ilia Kirianovskiiandintellij-monorepo-bot f43aa95086 [bazel] Update build files (IJI-3062)
GitOrigin-RevId: 98a67396a48bddc3d084cc93c50ae2f2017bfe8c
2025-09-29 00:11:15 +00:00
Vladimir Krivosheevandintellij-monorepo-bot 1b3c93d736 IJ-CR-146078 IJPL-209510 use kotlinx-serialization core and json product modules instead of jps lib (except fleet - no idea what to do)
GitOrigin-RevId: b74e1ac62eb7917aac3d5edb4bbfd2be2a4a191e
2025-09-26 20:36:41 +00:00
Vladimir.Koshelevandintellij-monorepo-bot c5b44ca085 [python] PY-84398 get rid of package prefix in python modules.
It doesn't work. Sad, but true.

GitOrigin-RevId: c6cf4f2971ce813a2ce18afb2dcee22c2c5dad75
2025-09-26 15:15:29 +00:00
Vladimir.Koshelevandintellij-monorepo-bot ba393efaa7 [python] PY-84398 get rid of embedded loading rules in PythonCore plugin, fix related issues
GitOrigin-RevId: 54f4bb333e0ca06a002a86c75f0bbc474863253e
2025-09-26 15:15:29 +00:00
Ilia Kirianovskiiandintellij-monorepo-bot 9522b27a4d [python] Add intellij.python.featuresTrainer._test module descriptor to run tests in dev-mode (IJPL-116621)
GitOrigin-RevId: 3149ff3901c95cf2ca9cdb2a6c7dd5f775b7243a
2025-09-24 23:57:49 +00:00
Ilia Kirianovskiiandintellij-monorepo-bot 6f8920da99 [bazel] Update build files (IJI-3062)
GitOrigin-RevId: 2394c1289e33945f7640f249b17cbf34b31fd695
2025-09-23 09:25:59 +00:00
Ilya.Kazakevichandintellij-monorepo-bot fd6322f117 Python: move classes to com.jetbrains.python.sdk.impl and close it.
`com.jetbrains.python` was closed by accident.

GitOrigin-RevId: 78109e34c720abfa2cefb1fa7d8d20db2ed1ad11
2025-09-22 18:50:06 +00:00
Ilya.Kazakevichandintellij-monorepo-bot 3fafaf4bf6 Python: close symbols and "tests" package to test to make sure no new symbol gets opened.
Bazel plugin isn't a problem as it is now controlled by JB

GitOrigin-RevId: c54256deac88c6c2f5a3a29c9efb7a0a80b5e106
2025-09-01 22:15:43 +00:00
Ilia Kirianovskiiandintellij-monorepo-bot dc268560b6 [bazel] Update build files (IJI-2835)
GitOrigin-RevId: 275260ab73f59d3c08f0b4cb9f4c89b74054094a
2025-08-20 08:49:22 +00:00
Leonid Shalupovandintellij-monorepo-bot cff76ea65e bazel: split test and build sections in convert jps to bazel:L update Bazel files
GitOrigin-RevId: 90063178de33c2a95bfdebd160a721d6977d8097
2025-07-18 16:18:47 +00:00
Alexey.Merkulovandintellij-monorepo-bot 80350f7f2a IJOB-601 Fix stop step in PyCharm onboarding tour lesson
GitOrigin-RevId: f2ebf56e5f6a16844be4e8b4666d0922de7a99e3
2025-06-26 20:33:30 +00:00
Vladimir Krivosheevandintellij-monorepo-bot c81436d537 IJ-MR-162467 IJ-CR-146078 do not add exra test deps for a good platform modules
GitOrigin-RevId: 61f681399a059c2eed494d56ae3b2ed54d74216c
2025-06-22 23:15:09 +00:00
Evgenii Ilichevandintellij-monorepo-bot 06fb3e21e6 Update test definitions in BUILD.bazel
GitOrigin-RevId: 12636c0153e8909f9d9658a07278edac5ceb9c23
2025-06-18 19:05:49 +00:00
Vladimir Krivosheevandintellij-monorepo-bot a49e310575 IJ-MR-162467 don't export intellij.platform.lang.core
GitOrigin-RevId: dea0fc36382a29eda134dba69917d41c7b585cf2
2025-06-18 11:28:23 +00:00
Vladimir Krivosheevandintellij-monorepo-bot b935234c91 IJ-MR-162467 don't export intellij.platform.projectModel
GitOrigin-RevId: 11c0bf5ca0f3a6d892658a2b149d85cace9aa2b8
2025-06-14 13:00:48 +00:00
Vladimir Krivosheevandintellij-monorepo-bot ef0323d07c IJ-MR-162467 don't export intellij.platform.core
GitOrigin-RevId: 05f350c1c087be1bf9b46d8bdac5345a65f55958
2025-06-13 21:52:48 +00:00
Ilya.Kazakevichandintellij-monorepo-bot cea3e7d9c0 Python: make python with language level independent from python binary to support conda and other python types.
GitOrigin-RevId: 2752eed732ab6d3e45da38714106700ba2014bd8
2025-06-07 22:05:56 +00:00
Vladimir Krivosheevandintellij-monorepo-bot 65fe061584 IJ-MR-162467 don't export intellij.platform.analysis
GitOrigin-RevId: fcbcb68010b58cb507fee2c47473758b999e471b
2025-06-04 11:16:33 +00:00
Vladimir Krivosheevandintellij-monorepo-bot fbc9805e89 IJ-MR-162467 don't export intellij.platform.jps.model
GitOrigin-RevId: ebaebc90d514e5f3046fe2b973647da4bf156625
2025-05-14 18:10:23 +00:00
Vladimir Krivosheevandintellij-monorepo-bot e6503904f1 update bazel files
GitOrigin-RevId: 56d6864910cad2dfe611d38d680ee290d4209f79
2025-05-13 18:02:20 +00:00
Ilia Kirianovskiiandintellij-monorepo-bot a38a19fa65 [bazel] Update build files
GitOrigin-RevId: b3eb595781593209fca189a18c0091f11621bd51
2025-05-13 15:36:09 +00:00
Ilya.Kazakevichandintellij-monorepo-bot 01754edfcb Python: drop unused, deprecated symbols.
Still used symbols are in `DeprecatedUtils` now to be dropped later

GitOrigin-RevId: 550eab3d417185b868072b06101bf7634263b4a2
2025-05-12 18:17:00 +00:00
Vladimir Krivosheevandintellij-monorepo-bot 3616fb0a2f simplify bazel labels (another step towards using simple names that reflect directory structure) — handle camelCase case
GitOrigin-RevId: 709eafe49fcb3be48c50440ae19a08e083bc8cb3
2025-05-12 07:18:42 +00:00
Vladimir Krivosheevandintellij-monorepo-bot 53ab1b258e IJ-MR-162467 do not export intellij.platform.refactoring
GitOrigin-RevId: 4bb68401d046d1fffba4fa73935bb1c404d8d49f
2025-05-09 20:49:36 +00:00
Vladimir Krivosheevandintellij-monorepo-bot 7cf9ef2b29 update bazel files
GitOrigin-RevId: e78f86bd17affd7892fd1af8e157f033906b1865
2025-05-09 15:36:06 +00:00
Vladimir Krivosheevandintellij-monorepo-bot 644a6b2e81 IJ-MR-162467 don't export intellij.platform.editor.ui
GitOrigin-RevId: 8894abe16fb347de7649bfb2d7888b6e6fe0232c
2025-05-09 14:20:40 +00:00
Ilia Kirianovskiiandintellij-monorepo-bot 3503d6806a [bazel] Update build files
GitOrigin-RevId: bbcaca8239b808c20285560ab76127a6302a571b
2025-04-28 18:53:43 +00:00
Ilya.Kazakevichandintellij-monorepo-bot 2ab569bddf Python: Add plugin dependency to make sure a test can be run with a gutter.
GitOrigin-RevId: b437c4fc5b260f9a67173204d7c410393b98577f
2025-04-28 16:45:00 +00:00
Ilya.Kazakevichandintellij-monorepo-bot 30b2ec39e8 Python: fix flaky test.
python indexing process might still keep the dir

GitOrigin-RevId: 6abcfafa033a91fa631d213f3ee6e578843a3d86
2025-04-16 12:31:55 +00:00
Ilia Kirianovskiiandintellij-monorepo-bot 1d358506ed [bazel] Update build files
GitOrigin-RevId: 3be0c56d654b1f00a60c75ed4c2fb1f075e3fc5f
2025-04-16 06:55:34 +00:00
Ilya.Kazakevichandintellij-monorepo-bot f88aadee36 Python: wrong packages fixed
GitOrigin-RevId: ddbeec662fb1a08a5ad961a4d8dac10c40557e71
2025-04-15 20:28:00 +00:00