[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
This commit is contained in:
Vitaly Legchilkin
2025-05-08 01:15:49 +00:00
committed by intellij-monorepo-bot
parent 57d61a67e1
commit 91a13e2436
23 changed files with 428 additions and 208 deletions
@@ -1,5 +1,5 @@
<!--suppress PluginXmlRegistrationCheck -->
<idea-plugin xmlns:xi="http://www.w3.org/2001/XInclude" url="https://www.jetbrains.com/pycharm/">
<idea-plugin url="https://www.jetbrains.com/pycharm/">
<!--Python community support for Pycharm, DS and IC.-->
<!--Include core Python functionality-->
@@ -69,4 +69,40 @@ The Python plug-in provides smart editing for Python scripts. The feature set of
<module name="intellij.python.terminal"/>
</content>
<actions>
<group id="PythonPackageManagerActions" searchable="false">
<separator/>
<action id="UvLockAction"
class="com.jetbrains.python.uv.packaging.UvLockAction"
icon="com.intellij.icons.AllIcons.Diff.Lock"/>
<action id="UvSyncAction"
class="com.jetbrains.python.uv.packaging.UvSyncAction"
icon="com.intellij.icons.AllIcons.Actions.Refresh"/>
<separator/>
<action id="PoetryLockAction"
class="com.jetbrains.python.poetry.packaging.PoetryLockAction"
icon="com.intellij.icons.AllIcons.Diff.Lock"/>
<action id="PoetryUpdateAction"
class="com.jetbrains.python.poetry.packaging.PoetryUpdateAction"
icon="com.intellij.icons.AllIcons.Actions.Refresh"/>
<separator/>
<action id="HatchRunAction"
class="com.jetbrains.python.hatch.packaging.HatchRunAction"
icon="com.intellij.icons.AllIcons.Actions.Refresh"/>
<separator/>
<add-to-group group-id="EditorContextBarMenu" anchor="last"/>
<!--<add-to-group group-id="EditorPopupMenu" relative-to-action="ShowIntentionsGroup" anchor="after"/>-->
</group>
</actions>
</idea-plugin>