PythonCore consists of several v1 modules (they aren't v2 modules in its content, but bare v1 modules to be packed directly in it).
They used to have `com.jetbrains` package to match plugin's package.
I now removed plugin package and moved modules to the appropriate packages.
https://jetbrains.slack.com/archives/CMDBCUBGE/p1738073999835749?thread_ts=1738008244.276339&cid=CMDBCUBGE
GitOrigin-RevId: 5702998a23598d4aa363064025afad8951faf7f7
Introduced PackageManagerServiceInterface to standardize package management across services, replacing direct use of PyPackagingToolWindowService with PackageManagerHolder.
GitOrigin-RevId: ff93b45ed0603d4f26d9c698542653d4aa38842e
See `README.txt`.
The "Python Services" is a new API for PyCharm execution subsystem.
The idea is to build the following mental model:
1. If you need an API -- there should be a service.
2. Each service has a showcase in "tests" root so you can see how it works in real life.
3. Code against interfaces.
4. Only link against those modules/services you really need.
5. No UI, no leaky abstractions in services.
This change introduces two services:
1. `SystemPythonService` to work with CPythons installed on OS.
GitOrigin-RevId: b07df246d1510a02c060fa7a929cf134879c7677
Fix build issues
Fix build issues
Remove redundant extension point
Fix build issues
Fix rebase issues
import rank
# Conflicts:
# .idea/libraries/jetbrains_ml_models_python_imports_ranking_model.xml
# .idea/libraries/jetbrains_mlapi_ml_feature_api.xml
# build/expected/ultimate-content-platform.yaml
# community/.idea/libraries/jetbrains_mlapi_ml_building_blocks.xml
# community/.idea/libraries/jetbrains_mlapi_ml_feature_api.xml
# community/platform/ml-api/intellij.platform.ml.iml
# community/platform/ml-impl/intellij.platform.ml.impl.iml
# community/platform/ml-impl/src/com/intellij/platform/ml/impl/logs/fus/IntelliJFusEventRegister.kt
# community/platform/ml-impl/src/com/intellij/platform/ml/impl/logs/fus/eventFields.kt
# community/platform/ml-impl/src/com/intellij/platform/ml/impl/tools/logs/IntelliJFusEventRegister.kt
# community/platform/ml-impl/src/com/intellij/platform/ml/impl/tools/logs/eventFields.kt
# community/platform/ml-tools/src/com/intellij/platform/ml/tools/logs/fus/IntelliJFusEventRegister.kt
# community/platform/ml-tools/src/com/intellij/platform/ml/tools/logs/fus/eventFields.kt
# community/platform/platform-impl/codeinsight-inline/src/com/intellij/codeInsight/inline/completion/ml/TypingSpeedFeatureProvider.kt
# community/python/intellij.python.ml.features/src/com/intellij/python/ml/features/imports/README.md
# community/python/intellij.python.ml.features/src/com/intellij/python/ml/features/imports/mlModel.kt
# community/python/pluginCore/plugin-content.yaml
# community/python/src/com/jetbrains/python/codeInsight/imports/mlapi/mlAnalysis.kt
# community/python/src/com/jetbrains/python/codeInsight/imports/mlapi/mlImplementation.kt
# community/python/src/com/jetbrains/python/codeInsight/imports/mlapi/mlLogs.kt
# community/python/src/com/jetbrains/python/codeInsight/imports/mlapi/mlTask.kt
Fix some tests
Refactor RelevanceEvaluationFeatures.kt to fix null handling
Improved the handling of `null` cases for `MODULE_SOURCE_TYPE` in `RelevanceEvaluationFeatures.kt`. This ensures more robust feature addition by checking conditions and setting the value accordingly when it's `null`. Minor formatting adjustments were also made.
Update ML model version in project configuration
Changed the Maven artifact ID from "lilac-coua" to "daffy-pony" for the python imports ranking ML model.
Fix some tests
Fix some tests
Fix some tests
Fix some tests
Fix some tests
Update Maven dependencies for JetBrains ML libraries
Update ML model version & fix missing read action
Update ML API version & update Imports Ranking implementation
Update mlapi version
Co-authored-by: Andrey Vokin <andrey.vokin@jetbrains.com>
Co-authored-by: Nikita Ermolenko <ermolenko.dev@gmail.com>
Merge-request: IJ-MR-147271
Merged-by: Gleb Marin <Gleb.Marin@jetbrains.com>
GitOrigin-RevId: 7aa520df915bb8a62263524868a17a984b619728
Fix smoke tests
Update ML libraries
Remove kotlin std from classes of a library
Remove redundant extension point
import rank
PY-40997 Typing/Reformatting/Autocomplete lags when stubs for boto3 are installed
set test iteration count to 12
Co-authored-by: Gleb Marin <Gleb.Marin@jetbrains.com>
Merge-request: IJ-MR-150955
Merged-by: Gleb Marin <Gleb.Marin@jetbrains.com>
GitOrigin-RevId: 47140fd0301283a10966e14c65df9a08d128ec39
FUS statistics consists of two parts:
1. Interpreter (i.e "venv" or "conda")
2. Project generator type ("Django" or "Flask")
`com.jetbrains.python.newProjectWizard.collector.PythonNewProjectWizardCollector.GENERATOR_FIELD` was a class without any limitation and `DirectoryProjectGenerator` instance was reported (i.e one for Django).
When migrated to NPW, we:
1. Dropped most old generator classes
2. Called this function providing `this::class` by accident, and it was `CoroutineScope`, so we finished with lots of `CoroutineScope` as generator type in FUS.
We must:
1. Provide old names for project types to preserve statistics.
2. Make it type-safe this time.
We also found that interpreter statistics is nullable for `PySdkCreator` which isn't true: SDK creation statistics is always not null.
So we:
* Introduce interface for project generators that reports "name for the statistics"
* Implement it both for DS and PyCharm by returning class name by default
* Overwrite it for several well-known generators to preserve statistics (use old named of now-deleted classes)
* Make interpreter statistics not null.
GitOrigin-RevId: 37eefb73361ff96dea88e4e2b4c6b291a91e13f0
Associate poetry files ("poetry.lock", "pyproject.toml") with the Python Packages toolwindow.
Separate UI error handling from package management logic.
Add tests to check the installation and removal of packages using poetry and "pyproject.toml" modification.
Merge-request: IJ-MR-146002
Merged-by: Egor Eliseev <Egor.Eliseev@jetbrains.com>
GitOrigin-RevId: 2ab0816f10c970f738d6d931dc123481030cad38
In SDK:
* `v1`: legacy API that should be dropped (but still used by Python Plugin and DS)
* `v2`: slightly better API used both for new project and interpreter settings. Supports DSL UI validation. Must be adopted by DS and Python Plugin somehow.
In NPW:
* `newProject`, `newProject/steps` (aka `v1`) deprecated, used only by DS and Python Plugin.
* `newProjectWizard` (aka PyV3): the right new API to use. Sooner or later will be adopted by DS and Python Plugin
GitOrigin-RevId: c3d49ce95079dc5ba589955381ddfe42326295fd
Add general service for running coroutines in com.jetbrains.python.sdk.
Delete PoetryConfigLoader.kt and PoetryConfigService.kt.
Merge-request: IJ-MR-145094
Merged-by: Egor Eliseev <Egor.Eliseev@jetbrains.com>
GitOrigin-RevId: 474bbee10812bbe4ce5fd2db96602f12e9fa023b
Try to install Poetry and Pipenv if they are not found
Merge-request: IJ-MR-141839
Merged-by: Egor Eliseev <Egor.Eliseev@jetbrains.com>
GitOrigin-RevId: 535426090df23b358ba61a9e21c2f0954c201945
Implement version tracking for Python specified in pyproject.toml files.
Validate base interpreters using a Python version from pyproject.toml.
Merge-request: IJ-MR-142231
Merged-by: Egor Eliseev <Egor.Eliseev@jetbrains.com>
GitOrigin-RevId: ddd685240b6d58ef8d2e6c5668c89c96d8992d27