Skip to content

Add helpful warnings upon differing environment manager versions - #18

Merged
klimaj merged 4 commits into
RosettaCommons:mainfrom
klimaj:env_manager_versions
Aug 11, 2026
Merged

Add helpful warnings upon differing environment manager versions#18
klimaj merged 4 commits into
RosettaCommons:mainfrom
klimaj:env_manager_versions

Conversation

@klimaj

@klimaj klimaj commented Aug 3, 2026

Copy link
Copy Markdown
Member

If a user is running a different pixi or uv environment manager version than the one used to generate the pixi.lock or uv.lock file cached in the PyRosettaCluster full simulation record, then downstream PyRosettaCluster environment validation during reproduction simulations may fail, even if the resolved dependencies are equivalent, due to differences in the generated lockfile serialization format. This scenario may fail because PyRosettaCluster validates bitwise identity between the original lockfile and the recreated one, and the lockfile format may change between pixi or uv releases without changing the resolved dependency graph. Thus, the pixi or uv version becomes part of the reproducibility contract, since toolchain provenance influences the generated lockfile artifact. This idea is analogous to how different compiler versions produce different binary artifacts from identical source code, where reproducibility depends on both the source code and the compiler version.

This PR adds warnings instructing users to use the cached pixi or uv version, but doesn't block since they'll receive a (circumventable) error during PyRosettaCluster simulation reproduction if lockfile artifacts differ. Version checks are not performed for Conda/Mamba environment managers, since the environment.yml format is quite stable over different Conda/Mamba versions.

@klimaj
klimaj requested a review from lyskov August 3, 2026 22:41
@klimaj klimaj added the enhancement New feature or request label Aug 3, 2026
lyskov pushed a commit to RosettaCommons/rosetta that referenced this pull request Aug 5, 2026
…on records (#747)

This quick PR adds a caching mechanism for the configured environment
manager's version string in the *PyRosettaCluster* full simulation
record. The captured version string facilitates environment
reproducibility when using Pixi or uv, as described in the accompanying
PR: RosettaCommons/pyrosetta-extras#18

@lyskov lyskov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

@klimaj
klimaj merged commit 46f3567 into RosettaCommons:main Aug 11, 2026
30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants