PY-80189 Replace PyPackagesTable with tree-based PyPackagesTreeTable.

Migrated to a tree-based UI for managing Python packages, replacing the previous table-based implementation. This change introduces `PyPackagesTreeTable`, consolidating UI functionality and improving package management UX. Removed redundant table-based classes and refactored associated functionality.


Merge-request: IJ-MR-164644
Merged-by: Timur Malanin <timur.malanin@jetbrains.com>

GitOrigin-RevId: 6e99398f0aa970806428221c194d09185554d2f5
This commit is contained in:
Timur Malanin
2025-06-16 13:38:02 +00:00
committed by intellij-monorepo-bot
parent f5dbbb76e7
commit 4cc34127cf
34 changed files with 1370 additions and 732 deletions
@@ -778,7 +778,11 @@
dynamic="true"/>
<extensionPoint qualifiedName="Pythonid.PythonPackageRequiresExtractorProvider"
interface="com.jetbrains.python.packaging.packageRequires.PythonPackageRequiresExtractorProvider"
interface="com.jetbrains.python.packaging.packageRequirements.PythonPackageRequiresExtractorProvider"
dynamic="true"/>
<extensionPoint qualifiedName="Pythonid.PythonPackageRequirementsTreeExtractorProvider"
interface="com.jetbrains.python.packaging.packageRequirements.PythonPackageRequirementsTreeExtractorProvider"
dynamic="true"/>
</extensionPoints>
@@ -886,6 +890,11 @@
<PythonPackageRequiresExtractorProvider implementation="com.jetbrains.python.poetry.packaging.PoetryRequiresExtractorProvider"/>
<PythonPackageRequiresExtractorProvider implementation="com.jetbrains.python.uv.packaging.UvPackageRequiresExtractorProvider"/>
<PythonPackageRequirementsTreeExtractorProvider implementation="com.jetbrains.python.poetry.packaging.PoetryPackageRequirementsTreeExtractorProvider"/>
<PythonPackageRequirementsTreeExtractorProvider implementation="com.jetbrains.python.uv.packaging.UvPackageRequirementsTreeExtractorProvider"/>
<systemPythonProvider implementation="com.jetbrains.python.sdk.uv.UvSystemPythonProvider"/>
<inspectionExtension implementation="com.jetbrains.python.sdk.configuration.PyInterpreterInspectionSuppressor"/>
@@ -1421,6 +1421,7 @@ python.toolwindow.packages.add.package.dialog.title=Install Package
python.toolwindow.packages.load.more=\u2026 {0} more items. Double click to show more.
python.toolwindow.packages.converting.description.progress=Reading package description
python.toolwindow.packages.documentation.local.interpreter=PyCharm need at least one local interpreter to display package documentation.
python.toolwindow.packages.sdk.label.html=<html>{0} <b>({1})</b></html>
python.packages.dictionary.name=Python Packages Dictionary
vcs.activate.virtualenv.checkbox.text=Activate virtualenv for hooks