Commit Graph

235 Commits

Author SHA1 Message Date
Vladimir Fedorov
0ac4ba9405 [ml-api] JBAI-14600 unify ML API version
* 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>

(cherry picked from commit 9056efba5a5397a700daabb453ee1477cfaabdf3)

GitOrigin-RevId: 7cfc63d35b55ac968d5a3b789d2ed5f29d4f12d6
2025-07-16 20:04:19 +00:00
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
Vladimir Krivosheev
ef0323d07c IJ-MR-162467 don't export intellij.platform.core
GitOrigin-RevId: 05f350c1c087be1bf9b46d8bdac5345a65f55958
2025-06-13 21:52:48 +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
Vladimir Krivosheev
65fe061584 IJ-MR-162467 don't export intellij.platform.analysis
GitOrigin-RevId: fcbcb68010b58cb507fee2c47473758b999e471b
2025-06-04 11:16:33 +00:00
Yuriy Artamonov
0967818c60 [python] IJPL-155949 Allow update for PyCharm bundled plugins
GitOrigin-RevId: 391fa1b9fea42adfe63380af2a148a8c3b08cd66
2025-05-26 19:39:03 +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
Vladimir Krivosheev
e6503904f1 update bazel files
GitOrigin-RevId: 56d6864910cad2dfe611d38d680ee290d4209f79
2025-05-13 18:02:20 +00:00
Ilia Kirianovskii
a38a19fa65 [bazel] Update build files
GitOrigin-RevId: b3eb595781593209fca189a18c0091f11621bd51
2025-05-13 15:36:09 +00:00
Vladimir Krivosheev
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 Krivosheev
7cf9ef2b29 update bazel files
GitOrigin-RevId: e78f86bd17affd7892fd1af8e157f033906b1865
2025-05-09 15:36:06 +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
6f8ff07ccc simplify bazel labels (another step towards using simple names that reflect directory structure)
GitOrigin-RevId: 12bfb2d0fa315d87c7a4ade363d0f834cf324b71
2025-05-08 16:58:30 +00:00
Vitaly Legchilkin
a697724acc [python] merge with latest changes (PY-79451)
GitOrigin-RevId: a50334e1c235d37ed64a61ae298dc25949014c89
2025-05-08 01:15:49 +00:00
Vitaly Legchilkin
91a13e2436 [python] implement python package manager actions (PY-79451)
* PythonPackageManagerJobService.kt added to manage tool jobs
* Base PythonPackageManagerAction.kt was added to cover all python package manager actions
* Implementations for Poetry / Hatch / uv
* Poetry pyproject.toml watcher was removed (replaced with poetry actions)

GitOrigin-RevId: 0bbc5a7802826674140ca1c80be27b6cd7d0f59e
2025-05-08 01:15:49 +00:00
Vladimir.Koshelev
67594cdaad [pycharm] finish community migration to v2
# Conflicts:
#	community/python/pluginCore/resources/META-INF/plugin.xml

GitOrigin-RevId: e4d6969fd15a3fddc4d6a03491fb9f9634285edf
2025-04-30 10:08:56 +00:00
Mikhail Golubev
a3d51f7191 PY-79488 Prototype UV project model support
GitOrigin-RevId: 9ef8405f2e617541771275f5dd79106a0063380c
2025-04-29 15:29:41 +00:00
Ilia Kirianovskii
3503d6806a [bazel] Update build files
GitOrigin-RevId: bbcaca8239b808c20285560ab76127a6302a571b
2025-04-28 18:53:43 +00:00
Ilya.Kazakevich
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.Kazakevich
74b4990d4f PY-80062: ignore Django facet (WIP)
GitOrigin-RevId: f0c4835dcf99f7c1f5a1ecec0402160020371c59
2025-04-08 22:10:13 +00:00
Vladimir Krivosheev
6524c42a41 IJ-CR-146078 IJPL-181726 pack libraries of non-V2 modules into a separate merged (per library) JAR file — update content report
GitOrigin-RevId: 2420ea8c2eba796dbad89c352344b2536b8c8614
2025-04-08 12:15:46 +00:00
Aleksandr Sorotskii
53bc8ed84f fix displaying unavailable python run configurations from pro tier; start with django; PY-80062
Merge-request: IJ-MR-159510
Merged-by: Ilya Kazakevich <ilya.kazakevich@jetbrains.com>

GitOrigin-RevId: d9dfe8bdcb27a57c935bca570e96902687f58ba8
2025-04-07 22:13:54 +00:00
David Lysenko
a1b07bb061 [pycharm] PY-79448 Add a feature flag to prevent poetry lock from being run
GitOrigin-RevId: 94977a3fb4390c683211fe253885bb2cc8c1eb35
2025-04-07 14:57:15 +00:00
Yuriy Artamonov
1c524da10b [project] Mute more spelling problems for Java and Python plugins
GitOrigin-RevId: c75d3634ebb3d649fea82e78fddc9d3c186d7493
2025-04-06 17:55:11 +00:00
Nikita Katkov
1393d86af9 [json + remdev] IJPL-176240 Update all runtime plugin dependencies: now most of the plugins depend on the json.backend module as they expect corresponding functionality and API to be available (primarilly Json Schema-related features)
GitOrigin-RevId: 141b7732330eefa01fdada3413e434fe7d2d512b
2025-04-03 13:08:20 +00:00
Vladimir Krivosheev
ace5ff3c8e IJ-CR-146078 IJPL-181726 more compact presentation of libs in content report
GitOrigin-RevId: d4c3319240c4c9a868efcc4984839d013764e168
2025-04-03 07:04:26 +00:00
Vladimir Krivosheev
ec002fcf0a Revert "IJ-CR-146078 IJPL-181726 pack libraries of non-V2 modules into a separate merged (per library) JAR file"
This reverts commit 566ba74d166c23a11a8f74ea3939572f567c9372.

GitOrigin-RevId: c4fc3b52b5fd0ef02c2cee7d1d5cbc3000cc9e6f
2025-04-02 13:12:53 +00:00
Vladimir Krivosheev
c11f5ad1f5 IJ-CR-146078 IJPL-181726 pack libraries of non-V2 modules into a separate merged (per library) JAR file
GitOrigin-RevId: 566ba74d166c23a11a8f74ea3939572f567c9372
2025-04-02 09:31:40 +00:00
Vladimir Krivosheev
dc0de47064 IJPL-181726 change default pack mode for withProjectLibrary from MERGED to STANDALONE_MERGED
GitOrigin-RevId: 677600430cdcab1b71c846f3a9b0d774bab2ea52
2025-03-31 10:31:38 +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
Ilya Kazakevich
92e25c9022 Python: Cache system pythons to speed up a function result.
1. Preload pythons from a project start activity
2. Cache them for some time (see `cache` variable)
3. Provide API to refresh


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

GitOrigin-RevId: 8b58ad3f35f144364d4103578d20a3cfc9b637f2
2025-03-27 14:31:48 +00:00
Vitaly Legchilkin
61ec26ac28 [python][hatch] create module structure only for pure python projects (PY-79939)
+ add work directory and hatch env name to hatch sdk data
+ support hatch run on cli level

GitOrigin-RevId: 4782bc52fcd23775b51903ae05f2575f574401cc
2025-03-25 19:45:38 +00:00
Aleksandr.Govenko
ab13d9dfd2 PY-45729 Intention to convert between single-line comma-separated things and multi-line representation
Merge-request: IJ-MR-155221
Merged-by: Aleksandr Govenko <aleksandr.govenko@jetbrains.com>

GitOrigin-RevId: 1da524fe3f995e28bf23843f02761065ae45f965
2025-03-25 13:43:44 +00:00
Vitaly Legchilkin
133bb61a1d [python] dependencies highlight and completion in pyproject.toml fix (PY-72985)
* use module sdk instead of project sdk in dependency completion
* remove dependency on the "requirements.txt" in the UnsatisfiedRequirementInspection (might be also pyproject.toml)
* move poetry-related things to own package

GitOrigin-RevId: 878ad4c419ed8025aa27bca2357ec7bed2e26f3c
2025-03-18 21:50:59 +00:00
Aleksandr Sorotskii
5cd9d71bee support for uv configuration in idea sdk management
GitOrigin-RevId: 17207321c24bf3746742648efac8163b39aa88ef
2025-03-13 11:41:43 +00:00
Vitaly Legchilkin
a53a6fce7c [python] update plugin-content.yaml for PythonCore (PY-60410)
GitOrigin-RevId: 0c28f54e8e9857677e999979e3c8fc161b3f9951
2025-03-12 20:49:14 +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
Nikita Ermolenko
0751475c1f JBAI-10776: Update python imports ranking model version to "nebulous-albatross"
Replaced the previous "coral-panda" version with "nebulous-albatross" across library configurations.

GitOrigin-RevId: b27b5ad6d2a2f797350f321e3312e2768c068040
2025-03-12 14:15:49 +00:00
Natalia.Murycheva
e759b8e4d8 [PyCharm] PY-77597 Re-order the "New File or Directory" options #PY-77597 Fixed
* Move Python-specific file types up in the "NewGroup" actions group
* Rename several actions so that their naming is aligned with the corresponding actions' names in IntelliJ platform

GitOrigin-RevId: af828c30daa801c0ca52c1271be45279946e34f0
2025-03-04 17:00:31 +00:00
Nikita Ermolenko
130db0c7ee JBAI-11476: Update feature provider namespaces and ML model version
Removed unnecessary namespace separators in feature providers to simplify definitions. Updated the ML model dependency from "lilac-coua" to "coral-panda" with corresponding artifact references. Adjusted typing feature keys for consistency.

GitOrigin-RevId: ef5561233dee5c13b7ad304bfa0fd5399d30eafd
2025-02-25 17:09:36 +00:00
David Lysenko
18eb19aff3 [pycharm] Address feedback
GitOrigin-RevId: ff5e1efdefa9ce24f76a0d628937a586a1363b78
2025-02-25 14:45:15 +00:00
Vladimir.Koshelev
268bc9307f [python] move PyProjectScopeBuilder to pycharm community customization
GitOrigin-RevId: fb38f3038a19bd66302920ce435d03da891a5fb5
2025-02-17 16:28:02 +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
Aleksandr Sorotskii
42b6334183 pycharm uv support survey; #PY-78501 Fixed
GitOrigin-RevId: 314259d784d9cbf471a661ee51aa337d312fd613
2025-02-06 13:40:10 +00:00
Mikhail Golubev
fc8b4ca91a PY-54269 Set up cross-module dependencies using the existing "transferred roots" mechanism
Namely, whenever there is a `sys.path` entry or a user-added path pointing
to the root of another project module, instead of configuring a source root
for it, we now set up the corresponding module dependency and save it
as a "transferred root" in additional data alongside extra directories
configured as source roots.

This POC solution has a number of limitations:
- A module dependency is set up only if the corresponding module
has already been added to the project. Modules are added using
"Attach to project" as before.
- Since detecting modules is happening on the interpreter introspection
phase, if project A depends on project B, once the module B is actually
configured as an IJ module, one needs to restart SDK update for project
A's SDK to detect the dependency.
- Detecting module dependencies this way requires having a configured
project interpreter for each dependent module, which might not be
practical for large projects, such as grazie-ml.
- It doesn't play well with manual editing of module dependencies in
settings.

Overall, this workaround works well with an existing multi-module project,
where a new subproject with its own SDK and module dependencies needs to
be added as an IJ module. But ideally we need to rely on the actual
project configuration files, not on runtime values of `sys.path`, and
make the workflow of configuring all project modules at once simpler.

A registry key "python.detect.cross.module.dependencies", disabled by default,
activates the feature.

As part of the feature, I also disabled configuring source roots for
`sys.path` entries not belonging to the current module. It leads
to a confusing situation where multiple modules have a content root
(with a single source root) pointing to the same directory in another
module. In a multi-module setting, it can happen if several modules
depend on some subproject that has not yet been configured as an IJ
module.

GitOrigin-RevId: 47e832edeeea21f5206c981bd604a6012100e9da
2025-02-04 22:07:19 +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