PY-80189 Introduced a unified PythonPackageRequiresExtractor interface for parsing package requirements for Python SDKs. Added implementations for Poetry and UV tools, including the necessary changes to handle normalized package names. Added corresponding unit tests to validate the extraction functionality.

GitOrigin-RevId: add74cf74974af6608d88546d86fe72900eee271
This commit is contained in:
Timur Malanin
2025-05-20 17:23:55 +00:00
committed by intellij-monorepo-bot
parent 2e311368af
commit a54f307202
7 changed files with 168 additions and 3 deletions
@@ -778,6 +778,10 @@
<extensionPoint qualifiedName="com.jetbrains.python.configuration.pyIntegratedToolsTestPanelCustomizer"
interface="com.jetbrains.python.configuration.PyIntegratedToolsTestPanelCustomizer"
dynamic="true"/>
<extensionPoint qualifiedName="Pythonid.PythonPackageRequiresExtractorProvider"
interface="com.jetbrains.python.packaging.packageRequires.PythonPackageRequiresExtractorProvider"
dynamic="true"/>
</extensionPoints>
<extensions defaultExtensionNs="Pythonid">
@@ -880,6 +884,9 @@
<pythonPackageManagerProvider implementation="com.jetbrains.python.packaging.pip.PipPackageManagerProvider" order="last"/>
<pythonPackageManagerProvider implementation="com.jetbrains.python.packaging.conda.CondaPackageManagerProvider"/>
<PythonPackageRequiresExtractorProvider implementation="com.jetbrains.python.poetry.packaging.PoetryRequiresExtractorProvider"/>
<PythonPackageRequiresExtractorProvider implementation="com.jetbrains.python.uv.packaging.UvPackageRequiresExtractorProvider"/>
<systemPythonProvider implementation="com.jetbrains.python.sdk.uv.UvSystemPythonProvider"/>
<inspectionExtension implementation="com.jetbrains.python.sdk.configuration.PyInterpreterInspectionSuppressor"/>