Files
windmill/frontend/src/lib/components
pyranota e47dd697f9 feat(python): Multiple runtime versions (#4579)
* feat: Handle `pip install` by `uv`

Dirty and untested, but already something working

* Integrate with NSJAIL and prepare fallbacks

* Refactor fallback
no_uv disable compile and install
where no_uv_install and no_uv_compile are a bit more specific

* Remove `--disable-pip-version-check`
Reason:
   warning: pip's `--disable-pip-version-check` has no effect

* Fix backend compilation error

* Pip fallback overwrite UV's cache

* Initially refactor cache (No S3)

* Support S3

* Remove unused import

* Handle flags for NSJAIL

* Return deleted flag

* Remove verbose mode and enable link-mode=copy

* Granural migration of lockfiles

Before i realized we dont need it :)

* Initial draft (not-working)

* Add fallback

* Fix bug preventing uv from installing deps

'\n' - Love it

* Add verbosity indicator

* Iterate on feature
- Added instance python version
- Rework logic

* Fix EE build error
error[E0599]: no method named `iter` found for tuple `(PyVersion, std::vec::Vec<std::string::String>)` in the current scope

* Support S3

* Support NSJAIL

* Refactor `get_python`

* Make NSJAIL work [Unsafe]

config file missed /proc mount causing install phase to fail

* Trigger CI

* Clean up

* Make Actions build it

* Trigger CI #2

* Update Dockerfile and clean up

* Change fallbacks
now there is only no_uv and NOUV

* Expose INSTANCE_PYTHON_VERSION through env variable

* Change namings

* Include py-version to requirements.in

Also add comments and make code much cleaner

* Use const for python installation dir

It was hardcoded before

* Pin preinstalled version

* Update python_executor.rs

* Up to date branch

* Create PYCACHE dirs

TODO: PY_TAR_DIRS

* Fix after merge

* Make it safer

* Implement USE_SYSTEM_PYTHON

* Implement latest_stable option

* Load INSTANCE_PYTHON_VERSION on startup

* Check for multiple annotations used

* Fix Latest Stable button not pressed if selected

* Proper error handling for conflict on multiple annotations

* Fix merge conflicts

* Preinstall 3.11 and Latest Stable

* Preinstall latest stable in non-blocking manner

* Fix Warning

* Gate preinstall logic behind "python" feature

* Handle raw_deps properly

* Make it work with nsjail

* Revert docker-image.yml

* Revert Dockerfile

* Cleanup + Fixing

* Add windows support

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2025-01-24 11:42:48 +01:00
..
2025-01-21 01:52:08 +01:00
2025-01-16 11:59:30 +01:00
2025-01-13 14:45:38 +01:00
2024-11-19 19:58:55 +01:00
2025-01-16 17:02:10 +01:00
2024-10-03 15:09:58 +02:00
2024-09-03 00:49:44 +02:00
2024-12-18 00:21:25 +01:00
2024-07-22 22:36:56 +02:00
2025-01-10 19:47:17 +01:00
2025-01-13 14:45:38 +01:00
2024-07-22 22:36:56 +02:00
2024-06-17 22:42:37 +02:00
2024-09-07 11:08:55 +02:00
2025-01-16 17:02:10 +01:00
2025-01-13 14:45:38 +01:00
2024-11-29 16:44:00 +01:00
2024-07-22 13:53:32 +02:00
2025-01-15 23:57:47 +01:00
2025-01-06 12:07:09 +01:00
2025-01-14 18:32:25 +01:00
2024-10-03 22:42:34 +02:00
2024-10-03 22:48:09 +02:00
2024-07-06 02:34:41 +02:00
2024-10-19 12:11:29 +02:00
2024-09-03 14:23:22 +02:00
2025-01-06 12:07:09 +01:00
2024-11-25 23:14:34 +01:00
2024-12-25 14:02:03 +01:00
2024-03-27 14:53:47 +01:00
2025-01-14 18:32:25 +01:00
2024-10-19 12:11:29 +02:00
2024-11-12 10:46:59 +01:00
2025-01-10 19:47:17 +01:00
2025-01-06 12:07:09 +01:00
2025-01-16 11:51:46 +01:00
2025-01-10 19:47:17 +01:00
2025-01-06 12:07:09 +01:00
2024-09-03 00:49:44 +02:00
2024-07-22 21:24:53 +02:00
2024-12-04 07:11:31 +01:00
2024-07-22 22:36:56 +02:00
2024-12-05 17:54:45 +01:00
2025-01-13 14:45:38 +01:00
2025-01-15 23:57:47 +01:00
2024-10-28 00:47:19 +01:00
2024-07-22 22:36:56 +02:00