Each tool (uv, poetry) now has `common` and `backend` part. `common` has icons because we need them both on the front and on the back.
We might need to create `front` module also if we wouldn't be able to use icons in compose.
GitOrigin-RevId: 560b5aa67e4e747a1653ad6e4f780301a3fae289
We are slowly moving all tools to the separate modules to register them as EP. On the front we might have `ToolId` only. To map it to an icon we will use EP.
GitOrigin-RevId: 3cd0ad9f8da4a69739c8f632a6305ddd7c29d62d
[pycharm] PY-85729 Post-cherry-pick fixes
[pycharm] PY-85729 Fix stress test on Windows
[pycharm] PY-85729 Fix smoke tests
[pycharm] PY-85729 Add visibility attribute to plugin config
[pycharm] PY-85729 Add a coroutine cleanup test
[pycharm] PY-85729 Add a stress env test
[pycharm] PY-85729 Minor cosmetic fixes
[pycharm] PY-85729 Performance improvement: add debounce to reduce the amount of GC garbage
[pycharm] PY-85729 Fix potential OOM: adjust limits
[pycharm] PY-85729 Fix potential OOM: add cancellation logic for background process observer
The background error process observation logic didn't cancel the coroutines, making them last for way longer than needed. Cancellation logic was added to remedy this.
[pycharm] PY-85729 Fix OOM: Force LazyTree recomposition on tree change
It looks like LazyTree composable hogs memory by keeping track of all the previous trees; this is bad for our use case as any snapshot change to the tree will be saved, causing potential OOM by not freeing the processes. This is fixed by forcing a recomposition on each tree change (via key(tree)).
Merge-request: IJ-MR-183264
Merged-by: David Lysenko <david.lysenko@jetbrains.com>
GitOrigin-RevId: 6a3f71219da1b8577b26d35ce73846685314eb3d
Before the changes, there wasn't any mechanism to detect that
environment was already created (for example, .venv exists in the
project). In these situations, during SDK creation we could've created
another environment which was not expected by users.
With these changes, it's now possible to detect in the configurator that
environment already exists, and use it when creating SDK.
Merge-request: IJ-MR-177317
Merged-by: Alexey Katsman <alexey.katsman@jetbrains.com>
GitOrigin-RevId: dd0cf0c02b18e90022e9ec828b7f9ad2282cd5b3
+ add requirePythonSdk() verification for the Sdk extension functions, these methods are not designed to be called for non-python sdks and now will throw IllegalArgumentException.
also corrects dependency tree:
+ move PythonSdkUtil to the python.sdk module, remove dependency on psi.impl
+ create PySkeletonUtil for skeleton utils and leave it in the psi.impl
[python] (IJPL-205889) (BAZEL-2462) don't call getOrCreateAdditionalData for non-python sdks
+ add requirePythonSdk() verification for the Sdk extension functions, these methods are not designed to be called for non-python sdks and now will throw IllegalArgumentException
also corrects dependency tree:
+ move PythonSdkUtil to the python.sdk module, remove dependency on psi.impl
+ create PySkeletonUtil for skeleton utils and leave it in the psi.impl
GitOrigin-RevId: 20d958c5e15cc4e05545b2e61b126b5e015696ed
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
Application‑level libraries ("Global Libraries" in UI) must be isolated by the environment, so each EEL environment sees only its own library set. This prevents cross‑environment leakage and aligns library scoping with SDK scoping.
Notes
- Environment choice is derived from the passed `Project` (carrier of the already‑resolved `EelMachine`), so selection is synchronous and safe for this API surface.
- API names stay as they are; documentation clarifies that the `Project` parameter selects the environment for the application‑level table and does not turn it into a project‑level table.
- In the Project Structure UI, the existing environment‑scoped modifiable model remains owned by the UI; outside the UI, callers get a standalone modifiable model for the chosen environment.
GitOrigin-RevId: e88445929d19012d029e79d44f09f694aba8df6f
This change updates ML API library to the latest stable version.
In this version, we introduced improved module splitting:
* mlapi-core – contains almsot no dependencies (except for kotlinx-serialization) and includes core ML factors
* mlapi-catboost – contains CatBoost-related abstractions and libraries
Merge-request: IJ-MR-177078
Merged-by: Vladimir Fedorov <890readrid@gmail.com>
GitOrigin-RevId: 14c89d3e4ba51474db9bf22d0c9364a502eddc35
It should be named `intellij.python.frontend`, but this name is occupied by another module, that should be named `intellij.python.frontend.split`
GitOrigin-RevId: 9c691512950b1f02cebd4a2d201560650460b16c
This module listens for topic that model was just rebuilt from `pyproject.toml` and does its best to configure SDK.
It will support UI to make this process configurable
GitOrigin-RevId: c752c94385814b5fc4413316c0d9d4cc2adb41e4
Such modules can be referenced not by a 'dependencies.module' tag, but via a 'depends' or 'dependencies.plugin' tag with the plugin alias, so they should be public. 'jetbrains' namespace is used for them.
GitOrigin-RevId: f3d0601685fe1d312a2508be08e97f8d985e7133
This service is aimed to substitute various SDK-management tools in PyCharm.
Begin with `InterpreterService()` function.
GitOrigin-RevId: 368d56c4a78812fe81de941e5e5ce61a56d385e6
* Switched to the project-level dependency everywhere
* Introduced a new module intellij.platform.ml.logs to separate ml-api library usages from intellij.platform.ml and intellij.platform.ml.impl modules
* The following models has been adapted to the latest ML API version: python imports ranking, fuzzy resolve, completion trigger model, jetenry inline prompt detection, jetenry fleet code classification
Merge-request: IJ-MR-166415
Merged-by: Vladimir Fedorov <890readrid@gmail.com>
GitOrigin-RevId: 9056efba5a5397a700daabb453ee1477cfaabdf3
Use `ExecService` `api.kt` to exec any binary and extensions from `execService.python/api.kt` for python-specific things (i.e helpers)
GitOrigin-RevId: bb217798a9d1ee886c4b12220ec1f66a5ef08336