+ * Various classes directly in the package are only here because of third party plugins
+ */
+package com.jetbrains.python.sdk.add;
\ No newline at end of file
diff --git a/python/src/com/jetbrains/python/sdk/add/target/PyInterpreterTargets.kt b/python/src/com/jetbrains/python/sdk/add/target/PyInterpreterTargets.kt
deleted file mode 100644
index 5a4296ddf296..000000000000
--- a/python/src/com/jetbrains/python/sdk/add/target/PyInterpreterTargets.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
-package com.jetbrains.python.sdk.add.target
-
-import com.intellij.execution.target.TargetEnvironmentConfiguration
-import com.jetbrains.python.run.PythonInterpreterTargetEnvironmentFactory
-
-val TargetEnvironmentConfiguration?.isMutableTarget: Boolean
- get() = this?.let { PythonInterpreterTargetEnvironmentFactory.isMutable(it) } ?: true
\ No newline at end of file
diff --git a/python/src/com/jetbrains/python/sdk/add/target/BrowsePaths.kt b/python/src/com/jetbrains/python/sdk/add/v1/BrowsePaths.kt
similarity index 96%
rename from python/src/com/jetbrains/python/sdk/add/target/BrowsePaths.kt
rename to python/src/com/jetbrains/python/sdk/add/v1/BrowsePaths.kt
index bc758045df8e..ee82dbc16f39 100644
--- a/python/src/com/jetbrains/python/sdk/add/target/BrowsePaths.kt
+++ b/python/src/com/jetbrains/python/sdk/add/v1/BrowsePaths.kt
@@ -1,5 +1,5 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.jetbrains.python.sdk.add.target
+package com.jetbrains.python.sdk.add.v1
import com.intellij.execution.target.BrowsableTargetEnvironmentType
import com.intellij.execution.target.TargetBrowserHints
diff --git a/python/src/com/jetbrains/python/sdk/add/target/conda/PyAddCondaPanelModel.kt b/python/src/com/jetbrains/python/sdk/add/v1/PyAddCondaPanelModel.kt
similarity index 95%
rename from python/src/com/jetbrains/python/sdk/add/target/conda/PyAddCondaPanelModel.kt
rename to python/src/com/jetbrains/python/sdk/add/v1/PyAddCondaPanelModel.kt
index 275f75e785c1..0d19594043ad 100644
--- a/python/src/com/jetbrains/python/sdk/add/target/conda/PyAddCondaPanelModel.kt
+++ b/python/src/com/jetbrains/python/sdk/add/v1/PyAddCondaPanelModel.kt
@@ -1,5 +1,5 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.jetbrains.python.sdk.add.target.conda
+package com.jetbrains.python.sdk.add.v1
import com.intellij.execution.target.FullPathOnTarget
import com.intellij.execution.target.LanguageRuntimeType
@@ -17,7 +17,13 @@ import com.intellij.openapi.vfs.VirtualFile
import com.intellij.platform.util.progress.RawProgressReporter
import com.jetbrains.python.PyBundle
import com.jetbrains.python.psi.LanguageLevel
-import com.jetbrains.python.sdk.add.target.isMutableTarget
+import com.jetbrains.python.sdk.conda.IntrospectableCommandExecutor
+import com.jetbrains.python.sdk.conda.TargetCommandExecutor
+import com.jetbrains.python.sdk.conda.TargetEnvironmentRequestCommandExecutor
+import com.jetbrains.python.sdk.conda.condaSupportedLanguages
+import com.jetbrains.python.sdk.conda.createCondaSdkAlongWithNewEnv
+import com.jetbrains.python.sdk.conda.createCondaSdkFromExistingEnv
+import com.jetbrains.python.sdk.conda.suggestCondaPath
import com.jetbrains.python.sdk.flavors.conda.NewCondaEnvRequest
import com.jetbrains.python.sdk.flavors.conda.PyCondaCommand
import com.jetbrains.python.sdk.flavors.conda.PyCondaEnv
diff --git a/python/src/com/jetbrains/python/sdk/add/target/conda/PyAddCondaPanelView.kt b/python/src/com/jetbrains/python/sdk/add/v1/PyAddCondaPanelView.kt
similarity index 95%
rename from python/src/com/jetbrains/python/sdk/add/target/conda/PyAddCondaPanelView.kt
rename to python/src/com/jetbrains/python/sdk/add/v1/PyAddCondaPanelView.kt
index c721326ae2d0..9becd8f0e889 100644
--- a/python/src/com/jetbrains/python/sdk/add/target/conda/PyAddCondaPanelView.kt
+++ b/python/src/com/jetbrains/python/sdk/add/v1/PyAddCondaPanelView.kt
@@ -1,5 +1,5 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.jetbrains.python.sdk.add.target.conda
+package com.jetbrains.python.sdk.add.v1
import com.intellij.execution.target.TargetBrowserHints
import com.intellij.openapi.Disposable
@@ -21,8 +21,6 @@ import com.jetbrains.python.run.PythonInterpreterTargetEnvironmentFactory.Compan
import com.jetbrains.python.sdk.add.PyAddSdkDialogFlowAction
import com.jetbrains.python.sdk.add.PyAddSdkStateListener
import com.jetbrains.python.sdk.add.PyAddSdkView
-import com.jetbrains.python.sdk.add.target.TargetPanelExtension
-import com.jetbrains.python.sdk.add.target.addBrowseFolderListener
import kotlinx.coroutines.Dispatchers
import org.jetbrains.annotations.Nls
import java.awt.Component
@@ -33,7 +31,7 @@ import javax.swing.JOptionPane.ERROR_MESSAGE
/**
* View for adding conda interpreter backed by [model]
*/
-class PyAddCondaPanelView(private val model: PyAddCondaPanelModel) : PyAddSdkView, Disposable {
+internal class PyAddCondaPanelView(private val model: PyAddCondaPanelModel) : PyAddSdkView, Disposable {
override val panelName: String get() = PyBundle.message("python.add.sdk.panel.name.conda.environment")
override val icon: Icon = PythonIcons.Python.Anaconda
diff --git a/python/src/com/jetbrains/python/sdk/add/PyAddExistingCondaEnvPanel.kt b/python/src/com/jetbrains/python/sdk/add/v1/PyAddExistingCondaEnvPanel.kt
similarity index 83%
rename from python/src/com/jetbrains/python/sdk/add/PyAddExistingCondaEnvPanel.kt
rename to python/src/com/jetbrains/python/sdk/add/v1/PyAddExistingCondaEnvPanel.kt
index 9dfe5f3a2ebc..5d59be49a65e 100644
--- a/python/src/com/jetbrains/python/sdk/add/PyAddExistingCondaEnvPanel.kt
+++ b/python/src/com/jetbrains/python/sdk/add/v1/PyAddExistingCondaEnvPanel.kt
@@ -1,5 +1,5 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.jetbrains.python.sdk.add
+package com.jetbrains.python.sdk.add.v1
import com.intellij.openapi.diagnostic.getOrLogException
import com.intellij.openapi.diagnostic.thisLogger
@@ -15,13 +15,15 @@ import com.jetbrains.python.PySdkBundle
import com.jetbrains.python.icons.PythonIcons
import com.jetbrains.python.packaging.PyCondaPackageService
import com.jetbrains.python.sdk.PyDetectedSdk
+import com.jetbrains.python.sdk.add.PyAddSdkPanel
+import com.jetbrains.python.sdk.add.PySdkPathChoosingComboBox
import com.jetbrains.python.sdk.conda.PyCondaSdkCustomizer
import com.jetbrains.python.sdk.setupAssociated
import java.awt.BorderLayout
import java.awt.event.ItemEvent
import javax.swing.Icon
-open class PyAddExistingCondaEnvPanel(
+internal open class PyAddExistingCondaEnvPanel(
private val project: Project?,
private val existingSdks: List