Skip to content

feat: install an environment of a lockfile to a target dir #3953

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

gzm55
Copy link
Contributor

@gzm55 gzm55 commented Jun 16, 2025

This feature makes pixi to install an environment without a workspace and global/exec specs. This can help distribute and setup many complex and reproducible environments fast based on the pixi/conda/uv caches.

The new command pixi deploy reads the all the required information for installing a single environment from a specified .lock file and global/cli configs, and do not try to search a workspace manifest. Another required option is the target prefix folder to install to. The install steps are similar to pixi install command, except that the .lock file will not be updated to the manifest. The conda and pypi packages are both updated to the prefix folder, except some limit on the source packages.

Another new subcommand pixi workspace export split-lockfile splits the pixi.lock of the current workspace into a specified base folder. The packages of each environment and platform are written into <target>/{platform}/{environment}.lock.

@Hofer-Julian
Copy link
Contributor

Hey @gzm55, thanks for your contribution!

This is a pretty big feature.
Did you discuss this with the team beforehand?

@gzm55
Copy link
Contributor Author

gzm55 commented Jun 16, 2025

Hey @gzm55, thanks for your contribution!

This is a pretty big feature. Did you discuss this with the team beforehand?

@Hofer-Julian not yet, but i left a similar discussion last week. it seems not too hard to implement, all the needed low-level functions are ready.

@Hofer-Julian
Copy link
Contributor

Hey @gzm55, thanks for your contribution!
This is a pretty big feature. Did you discuss this with the team beforehand?

@Hofer-Julian not yet, but i left a similar discussion last week. it seems not too hard to implement, all the needed low-level functions are ready.

Responded to your discussion

@gzm55
Copy link
Contributor Author

gzm55 commented Jun 20, 2025

@ruben-arts @baszalmstra is there some time to talk about this feature?

@gzm55 gzm55 force-pushed the work/lockfile-split-deploy branch from 1e68399 to 4442a15 Compare June 20, 2025 00:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants