Commit Graph

8 Commits

Author SHA1 Message Date
Ilya.Kazakevich
c6e616043d Python: add UI for system pythons
See `spi.kt`

Show provided pythons in UI And sort them.
See sort logic and a test.

GitOrigin-RevId: 7b98be47f41653d73400a64c65fbbfe3e1d78ee2
2025-02-11 22:25:45 +00:00
Ilya.Kazakevich
3e14c16503 Python: Use SystemPythonService in v2 add interprets widget, also fix PY-78732.
We now use `SystemPythonService` to look for system pythons and validate new pythons against it.

GitOrigin-RevId: c06201cd03f7e1cb060a44c4578dd71f8bb05df6
2025-02-04 04:31:32 +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
Ilya.Kazakevich
88dc070d16 Python: move classes to access pythons created by setup-env script into right module.
We now store classes to access pythons installed by tests setup env right next to the script

GitOrigin-RevId: 922e5cfbb89e1e550679796e02deb24553ad6852
2025-02-02 07:05:23 +00:00
Ilya.Kazakevich
d38bf97b98 Python: introduce module for tool to create virtual envs.
This tool supports remote eels.

GitOrigin-RevId: d4f43a782435cef6afa66c92d6d71596269c9ea1
2025-02-02 05:05:52 +00:00
Ilya.Kazakevich
962b52d8a0 Python: installer to the separate module.
We need python services not to depend on community.impl

GitOrigin-RevId: e0259aba8d41bc02aa347e3d1d77697162fcc9ce
2025-01-29 00:07:48 +00:00
Konstantin.Nisht
d100810ce6 [eel] IJPL-172897: Export intellij.platform.eel from intellij.platform.eel.provider, as an API module can be exported from the module with utilities
GitOrigin-RevId: 6819299595d2401de7451929e6e80169a81c5c10
2025-01-17 19:46:01 +00:00
Ilya.Kazakevich
882c455d4d Python: Introduce "Python Services."
See `README.txt`.
The "Python Services" is a new API for PyCharm execution subsystem.

The idea is to build the following mental model:
1. If you need an API -- there should be a service.
2. Each service has a showcase in "tests" root so you can see how it works in real life.
3. Code against interfaces.
4. Only link against those modules/services you really need.
5. No UI, no leaky abstractions in services.

This change introduces two services:
1. `SystemPythonService` to work with CPythons installed on OS.

GitOrigin-RevId: b07df246d1510a02c060fa7a929cf134879c7677
2025-01-11 16:43:37 +00:00