Poetry lockfile determinism with environment markers across platforms
0 reputation · 12 Sept 2024, 23:16 UTC
Goal is deterministic dependency resolution with Poetry across development and production using pyproject.toml and poetry.lock.
The lockfile records resolved versions and hashes to prevent floating ranges. Uncertainty remains about how environment markers and platform-specific wheels interact with that determinism. Poetry supports conditional dependencies via markers for Python version or operating system, and resolver behavior for extras differs between library and application contexts.
With those constraints, does the lockfile guarantee the same resolved set when the same pyproject.toml is used on different platforms? Which conditions cause the resolver to select a different wheel or skip a marker-conditioned dependency? When should markers be added explicitly to avoid divergence?