Skip to content

feat: Make Python Virtual Environment Persistent: Install Persistent Environment in Computing Unit #5901

Open
SarahAsad23 wants to merge 15 commits into
apache:mainfrom
SarahAsad23:install-ve-in-cu
Open

feat: Make Python Virtual Environment Persistent: Install Persistent Environment in Computing Unit #5901
SarahAsad23 wants to merge 15 commits into
apache:mainfrom
SarahAsad23:install-ve-in-cu

Conversation

@SarahAsad23

@SarahAsad23 SarahAsad23 commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

What changes were proposed in this PR?

This PR adds support for installing persistent Python Virtual Environments (PVEs) into a Computing Unit (CU). All PVEs associated with a user are displayed within the CU management interface, allowing users to select and install an environment when it is needed for workflow execution.

When a PVE is installed, the environment is recreated inside the CU using the package information stored in the database. Once installation completes, the environment becomes available for Python UDF execution within that CU.

If a PVE has already been installed in a CU, users may choose to Reinstall it. During reinstallation, the packages currently installed in the CU are compared against the packages stored in the persistent PVE definition, and any missing or updated packages are applied. This allows an existing CU environment to be synchronized with the latest persistent PVE definition without requiring a full reinstall.

Users may also make package changes directly within a CU after installation. These changes remain local to the CU and are not persisted to the PVE stored in the database. A warning message is displayed in the CU management interface to indicate that manual changes made within a CU are not reflected in the persistent PVE definition.

Note: Users can no longer create virtual environments from the CU modal anymore.

Screenshot 2026-06-24 at 10 33 55 AM

Any related issues, documentation, discussions?

Closes #5361.

How was this PR tested?

Tested Manually and test cases in computing-unit-selection.component.spec.

Was this PR authored or co-authored using generative AI tooling?

Co-authored using: Claude Code

@SarahAsad23 SarahAsad23 marked this pull request as draft June 23, 2026 06:52
@github-actions github-actions Bot added the frontend Changes related to the frontend GUI label Jun 23, 2026
@github-actions

github-actions Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Automated Reviewer Suggestions

Based on the git blame history of the changed files, we recommend the following reviewers:

  • No candidates found from git blame history.

@codecov-commenter

codecov-commenter commented Jun 23, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 60.56338% with 28 lines in your changes missing coverage. Please review.
✅ Project coverage is 54.56%. Comparing base (2ebfc28) to head (163b351).

Files with missing lines Patch % Lines
...wer-button/computing-unit-selection.component.html 0.00% 20 Missing ⚠️
...power-button/computing-unit-selection.component.ts 84.31% 4 Missing and 4 partials ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main    #5901      +/-   ##
============================================
- Coverage     54.91%   54.56%   -0.35%     
+ Complexity     2956     2896      -60     
============================================
  Files          1117     1110       -7     
  Lines         43133    42951     -182     
  Branches       4648     4631      -17     
============================================
- Hits          23685    23435     -250     
- Misses        18054    18145      +91     
+ Partials       1394     1371      -23     
Flag Coverage Δ *Carryforward flag
access-control-service 69.69% <ø> (-0.31%) ⬇️ Carriedforward from 388e6e5
agent-service 34.36% <ø> (ø) Carriedforward from 388e6e5
amber 56.34% <ø> (-0.69%) ⬇️ Carriedforward from 388e6e5
computing-unit-managing-service 0.28% <ø> (+0.28%) ⬆️ Carriedforward from 388e6e5
config-service 54.83% <ø> (+3.27%) ⬆️ Carriedforward from 388e6e5
file-service 59.31% <ø> (+0.28%) ⬆️ Carriedforward from 388e6e5
frontend 48.68% <60.56%> (+<0.01%) ⬆️
notebook-migration-service ?
pyamber 90.20% <ø> (ø) Carriedforward from 388e6e5
python 90.76% <ø> (ø) Carriedforward from 388e6e5
workflow-compiling-service 57.57% <ø> (+2.42%) ⬆️ Carriedforward from 388e6e5

*This pull request uses carry forward flags. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@SarahAsad23 SarahAsad23 marked this pull request as ready for review June 24, 2026 17:35
@kunwp1 kunwp1 self-requested a review June 26, 2026 00:55

@kunwp1 kunwp1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left some comments.

In the PR description, please mention that user cannot create a venv anymore from the CU modal.

@SarahAsad23 SarahAsad23 requested a review from kunwp1 June 26, 2026 03:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

frontend Changes related to the frontend GUI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make Python Virtual Environments Persistent

3 participants