Commit Graph

153 Commits

Author SHA1 Message Date
Egor Eliseev
8a3648c438 [python] Remove unuseful ktor dependencies in intellij.python.community.impl module
Merge-request: IJ-MR-166082
Merged-by: Egor Eliseev <Egor.Eliseev@jetbrains.com>
(cherry picked from commit 447218b7df368ac1c8da7ca3b2d096ccceb93f69)

GitOrigin-RevId: b0c146a9eebe689c974ab7bbeec1b80507e54652
2025-07-02 07:22:22 +00:00
Nikita Ashihmin
05e32e764d PY-19974 Packages: Add conda envinroment.yml support, refactor sync methods
Signed-off-by: Nikita.Ashihmin <nikita.ashihmin@jetbrains.com>


Merge-request: IJ-MR-164824
Merged-by: Nikita Ashihmin <Nikita.Ashihmin@jetbrains.com>

GitOrigin-RevId: 85cbf7b873742ded72029af1f4ff3e34af9bae22
2025-06-17 00:18:33 +00:00
Vladimir Krivosheev
b935234c91 IJ-MR-162467 don't export intellij.platform.projectModel
GitOrigin-RevId: 11c0bf5ca0f3a6d892658a2b149d85cace9aa2b8
2025-06-14 13:00:48 +00:00
Liubov Afanaseva
ab4901834d AP-7325: replaced ap-validation to model, ap.validation libraries, added fus-reporting-api libraries
GitOrigin-RevId: 00877130023f5a3f426b014208110949c665c587
2025-06-09 13:26:22 +00:00
Vladimir Krivosheev
982fba0b33 IJ-MR-162467 don't export intellij.platform.concurrency
GitOrigin-RevId: 5cd5a6506d69bfd384f21fc5a79d1f12a172a074
2025-06-08 20:43:51 +00:00
Ilya.Kazakevich
2e14347844 Python: extract python-specific extensions from exec service to simplify API and make it extendable for intepreters.
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
2025-06-07 22:05:56 +00:00
Ilya.Kazakevich
80f248d842 Python: Move helpers locator out of PSI module
GitOrigin-RevId: 55fb4b41c56fdd41b6d9523cd7a148c002ffb8be
2025-06-07 21:59:42 +00:00
Nikolay Chashnikov
e81c802169 [platform ml] cleanup: remove unused dependencies on intellij.platform.ml.impl (IJPL-190495)
After converting the module to a content module, we don't need to add dependency to it in XML descriptors where it actually isn't used.

GitOrigin-RevId: 5f5d18c8c586a4d06adc3cc61a0ef916e74a4760
2025-06-04 18:57:28 +00:00
Vladimir Krivosheev
65fe061584 IJ-MR-162467 don't export intellij.platform.analysis
GitOrigin-RevId: fcbcb68010b58cb507fee2c47473758b999e471b
2025-06-04 11:16:33 +00:00
Vladimir Krivosheev
ab69d8455c IJ-MR-162467 don't export intellij.platform.indexing
GitOrigin-RevId: 5065d7f10610d024e4a89a379be3de68caf55dc3
2025-05-29 17:55:17 +00:00
Vladimir Krivosheev
81700db9f8 IJ-CR-146078 add direct deps to intellij.platform.credentialStore
GitOrigin-RevId: cdf7c2824763b3316329a8a2b989152b8e0d2337
2025-05-26 20:11:18 +00:00
Mikhail Filippov
40e854e522 IJPL-188826 bump Kotlin language version to 2.2
GitOrigin-RevId: 61c9fecae6a713d7e328e74b83186bc5d2f6bf66
2025-05-26 13:41:54 +00:00
Nikolay Chashnikov
9f30bd367f [python] cleanup: remove unused incorrect dependencies from intellij.python.community.impl
They aren't used in code and won't work at runtime anyway because there are no corresponding dependencies in the plugin descriptor.

These dependencies were reported by IdeaUltimatePluginModuleDependenciesTest (IJPL-171921).

GitOrigin-RevId: de9bdd2e14a5a75de726524b14418fd2f0ae4200
2025-05-19 13:00:12 +00:00
Vitaly Legchilkin
3dc93ae4c9 [python] parse relations from requirements (PY-81239)
* add kotlinx-serialization-compiler-plugin.jar to python.community.impl
* fix conda output parser


Merge-request: IJ-MR-163251
Merged-by: Vitaly Legchilkin <Vitaly.Legchilkin@jetbrains.com>

GitOrigin-RevId: ecdcba92b5d7c3c98bf241dc23ca788c57a0dfde
2025-05-17 19:15:12 +00:00
Vladimir Krivosheev
b660081493 IJ-MR-162467 don't export intellij.platform.workspace.storage
GitOrigin-RevId: 65ff26dfef46b205eb68dc2f2e60eab4720c87c8
2025-05-15 09:18:18 +00:00
Vladimir Krivosheev
fbc9805e89 IJ-MR-162467 don't export intellij.platform.jps.model
GitOrigin-RevId: ebaebc90d514e5f3046fe2b973647da4bf156625
2025-05-14 18:10:23 +00:00
Shumaf Lovpache
89c91abbb6 [platform] update ktor to ktor, introduce kotlinx.io product module
- Fix git client build
- Update deps for artifacts
- Remove jetbrains.kotlinx.io.core.jvm library license
- Introduce kotlinx.io as a library
- Remove duplicated kotlinx.io from fleet
- Update fleet gradle sync
- Replace transitive dependency on kotlinx-io-core with a direct one (because of the javac & jps)

(cherry picked from commit bb8cfb4d985d235781da71b259c5f7f0f8a33c63)

Add io-core to essential-modules.xml, update packaging file

(cherry picked from commit 1db15ea706283edd3939bb37100abd30df002984)

Introduce a module for kotlinx-io-core dependency

(cherry picked from commit 5e18c822b3be57a1ca9478ffb364679c32b5f2a5)

Replace transitive dependency on kotlinx-io-core with a direct one

(cherry picked from commit 4309b698141bed71257ec99a9e7f5151d38d4650)

Add kotlinx-io-core library

(cherry picked from commit 0d14f1abf0ca85217f7c075e2fee77aa6808c5e7)

Add kotlinx.io as a library


Co-authored-by: Alexander Zolotov <alexander.zolotov@jetbrains.com>

Merge-request: IJ-MR-162517
Merged-by: Shumaf Lovpache <soarex16@gmail.com>

GitOrigin-RevId: e600e36f4169cc41c0d7ca1a989b0a9a656df3f0
2025-05-14 08:31:14 +00:00
Vladimir Krivosheev
0efc28f5c8 IJ-MR-162467 do not export intellij.platform.structureView.impl
GitOrigin-RevId: 0c20c9a059baa4e6e99df7e6c8ffd19be6386bc3
2025-05-11 10:42:09 +00:00
Vladimir Krivosheev
74a74205c9 IJ-MR-162467 do not export intellij.platform.foldings
GitOrigin-RevId: 868726f6678c7231527f621255a5d902320e58b6
2025-05-10 21:23:03 +00:00
Vladimir Krivosheev
53ab1b258e IJ-MR-162467 do not export intellij.platform.refactoring
GitOrigin-RevId: 4bb68401d046d1fffba4fa73935bb1c404d8d49f
2025-05-09 20:49:36 +00:00
Vladimir Krivosheev
644a6b2e81 IJ-MR-162467 don't export intellij.platform.editor.ui
GitOrigin-RevId: 8894abe16fb347de7649bfb2d7888b6e6fe0232c
2025-05-09 14:20:40 +00:00
Vladimir Krivosheev
7351c37957 do not export intellij.platform.usageView.impl
GitOrigin-RevId: 63f00963773ddb773eace8619ec48dadc4de7c24
2025-05-08 19:19:27 +00:00
Ilya Kazakevich
4fa65266ab PY-78035: Sort existing pythons for V2 "new interpreter" widget.
There is a list of `PythonSelectableInterpreter` which should be sorted and filtered.

`PythonSelectableInterpreter`s are comparable now: we can sort them by type (using `uiCustomization` hash) and then by language.

There is a `sortForExistingEnvironment` function that implements the core logic of this patch.

The test is `SortForExistingEnvironmentTest`, but we also run `DetectedSelectableInterpreterSortTest` several times to make sure the order is not broken.


Merge-request: IJ-MR-161055
Merged-by: Ilya Kazakevich <ilya.kazakevich@jetbrains.com>

GitOrigin-RevId: 030e1b3fd171b2c41ca3473abde90607b95a9414
2025-04-24 14:43:04 +00:00
Timur Malanin
f7c2a83020 PY-79792 Refactored repository handling in Python packaging subsystem. Unified repository management by removing redundant methods (packagesFromRepository, allPackages) and standardized package retrieval via getPackages from PyPackageRepository. Updated related classes to align with the new CompositePythonRepositoryManager and PythonRepositoryManager interfaces. Added Test. PY-80168 Replace latest text with real latest version.
GitOrigin-RevId: 80a78a3798c04e73d98c58eed58b2ca01898ae00
2025-04-10 13:11:48 +00:00
Mikhail Golubev
9131e29041 PY-79488 Prototype multimodule Poetry project support
Whenever a pyproject.toml file is found in a new IJ project root
(without .idea) we register the corresponding root as managed by Poetry
in `.idea/poetry.xml` (so called "linking") and then read all
pyproject.toml in the project tree setting up the corresponding IJ
modules and dependencies between them (so called "syncing").
The changes are persisted in the workspace model cache, there are
no additional config files, besides `.idea/poetry.xml`.

If a new pyproject.xml module is added to the root of an existing
project, we ask user whether its project model should be applied.

When a pyproject.toml is then changed in the editor or externally,
we either automatically apply the changes (reloading) or ask
a user about it, depending on the settings in
"Settings | Build, Execution, Deployment | Build Tools".

If automatic linking and syncing doesn't work for some reason
(e.g. there is no top-level pyproject.toml as in grazie-ml),
there are manual actions "Link All Poetry Projects" and
"Sync All Poetry Projects".

GitOrigin-RevId: 77a480cdf56d45f22c943acbad3a7c20d5eb56a5
2025-03-28 14:50:08 +00:00
Vitaly Legchilkin
498de69f2a [python] Support Hatch SDK (PY-60410)
* add new / select existing for local sdks
* create a new project with hatch sdk
* open hatch-managed project

GitOrigin-RevId: 86e970a39bc44cec34be7c82717806fc4d0009c4
2025-03-12 20:49:14 +00:00
David Lysenko
18eb19aff3 [pycharm] Address feedback
GitOrigin-RevId: ff5e1efdefa9ce24f76a0d628937a586a1363b78
2025-02-25 14:45:15 +00:00
David Lysenko
a570aebb18 [pycharm] PY-79369 Consolidate logic for pyproject.toml handling
GitOrigin-RevId: cf5b90daeaf3686b044e98888be6675618e9471e
2025-02-25 14:45:15 +00:00
Vitaly Legchilkin
eb4354215c [project-libs] add Semantic Version 2.0 library (io.github.z4kn4fein:semver-jvm) on project level (PY-60410)
It implements the full semantic version 2.0.0 specification and provides the ability to parse, compare, and increment semantic versions along with validation against constraints (C) author

+ add io.github.z4kn4fein:semver-jvm:2.0.0 as library on project level
+ switch module-local dependency for RustRover to the project-level.
+ add to the python.core plugin as a dependency

GitOrigin-RevId: f95154ba8d99b91687bd02fc952281aa5f05f0a5
2025-02-09 12:28:45 +00:00
Ilya.Kazakevich
3e14c16503 Python: Use SystemPythonService in v2 add interprets widget, also fix PY-78732.
We now use `SystemPythonService` to look for system pythons and validate new pythons against it.

GitOrigin-RevId: c06201cd03f7e1cb060a44c4578dd71f8bb05df6
2025-02-04 04:31:32 +00:00
Ilya.Kazakevich
6b6658fbc9 Python: make system python service available from community.
We make it a part of PythonCore module to use it from community

GitOrigin-RevId: ea6b00b6ac1a24478f9ff74cb34beffab0942089
2025-02-03 22:07:16 +00:00
Aleksandr Sorotskii
e0e9e611a6 support for listing uv provided pythons PY-77537
GitOrigin-RevId: 7003a66ba729d7565c1cf876198d85d45d025659
2025-02-03 17:10:53 +00:00
Ilya.Kazakevich
d38bf97b98 Python: introduce module for tool to create virtual envs.
This tool supports remote eels.

GitOrigin-RevId: d4f43a782435cef6afa66c92d6d71596269c9ea1
2025-02-02 05:05:52 +00:00
Ilya.Kazakevich
962b52d8a0 Python: installer to the separate module.
We need python services not to depend on community.impl

GitOrigin-RevId: e0259aba8d41bc02aa347e3d1d77697162fcc9ce
2025-01-29 00:07:48 +00:00
Ilya.Kazakevich
54b33961fe Python: Extract poetry to a separate module to resue it.
We need to decouple it from community.impl

GitOrigin-RevId: 1636a67bc2f0d4d7a93ad255cde58b4bddb84211
2025-01-28 02:47:22 +00:00
Vladimir Krivosheev
4453c70b07 don't export intellij.xml.psi
GitOrigin-RevId: 0186a8f9f878122dbb297ca06f64fa7fd4b2e579
2025-01-18 21:21:04 +00:00
Gleb Marin
83e721a261 PY-77964, JBAI-10754 Unify ML API versions in ultimate
Also fixes 'Unable to load ML model' exception on Windows

Merge-request: IJ-MR-153007
Merged-by: Gleb Marin <Gleb.Marin@jetbrains.com>

GitOrigin-RevId: 2d5421dbee4ed86c81b9eba1f6d65dfdf4557698
2025-01-15 22:44:35 +00:00
Gleb Marin
d80ad96aee [ml imports ranking] Update ML API version & add an actual ML model
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
2025-01-08 12:52:17 +00:00
Vladimir Krivosheev
8e2762c8b0 don't export intellij.platform.projectModel.impl
GitOrigin-RevId: c927bbf14f5bf8ba06196d812c5cd5e917517627
2024-12-28 01:15:41 +00:00
Vladimir Krivosheev
a522f96d66 do not export deps blindly (part 3)
GitOrigin-RevId: 7277ece9ded25f1111febc8dccaba9ac8cc75c21
2024-12-22 20:28:42 +00:00
Vladimir Krivosheev
f283f90213 do not export deps blindly (part 2)
GitOrigin-RevId: 902eb50acfc65c054b5d207bf15950e1da80409e
2024-12-21 22:49:44 +00:00
Vladimir Krivosheev
87671ad22c extract intellij.platform.ide.observable (required to extract UI DSL)
GitOrigin-RevId: cf1e7fc1e73a9a6cfb29041d48dfd6f3286ef890
2024-12-16 19:34:14 +00:00
Vladimir Krivosheev
7d802ca10e extract intellij.platform.ide.codeinsight.inline
GitOrigin-RevId: b80c9bdb75132fdf82a217ab31f034da6c4593a6
2024-12-16 12:50:52 +00:00
Ilya.Kazakevich
42cc1cf8af PY-77813: Report new project type broken in NPW.
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
2024-12-03 02:27:12 +00:00
Vladimir Krivosheev
8c77c9ed84 don't export ide.core.impl from lang-impl
GitOrigin-RevId: 029fef0995b0d8e6b684f463bdd856dd17021366
2024-12-02 11:32:59 +00:00
Vladimir Krivosheev
4118783723 remove runtime dep on intellij.python.community.impl.huggingFace - fix cycle dep for Bazel
GitOrigin-RevId: f56d700a6f1ff14c6304f4ebb566067b909ce740
2024-11-30 08:51:47 +00:00
Aleksandr Sorotskii
9b76b13e69 basic support for uv env & package manager; PY-75983
GitOrigin-RevId: 2597e4de17e167d8a0b0038190b5127a9dc4b155
2024-11-15 17:27:12 +00:00
Aleksei Kniazev
88df1335c4 [python] in-product survey about user's job for pycharm (PY-74269)
(cherry picked from commit 5ce25d3c418b54649e6a52a892bc84b837251e76)

IJ-MR-148062

GitOrigin-RevId: 0f3602d64459a2632bff07243e7e166ec59e9665
2024-10-31 17:23:14 +00:00
Nikolay Chashnikov
650dfeb078 [python] cleanup: remove unused dependencies on 'groovy' library
We don't have groovy files in the source code anymore, so it doesn't make sense to have 'provided' dependency on 'groovy' library.

GitOrigin-RevId: 3c5e98c4f57697eb93349bacc25d3dfa61b9b9e3
2024-10-22 09:19:18 +00:00
Vladimir Krivosheev
387be9d569 IJ-CR-146078 extract intellij.platform.ide.ui
GitOrigin-RevId: 1d77381f1bcc811dbf644e47e70972a572c095f2
2024-10-10 23:38:08 +00:00