Skip to content

✨ feat(py_info): expose marker environment - #178

Merged
gaborbernat merged 2 commits into
tox-dev:mainfrom
gaborbernat:feature/target-marker-environment
Oct 30, 2026
Merged

gaborbernat merged 2 commits into
tox-dev:mainfrom
gaborbernat:feature/target-marker-environment

Conversation

@gaborbernat

Copy link
Copy Markdown
Member

A tox issue shows a lock file selecting a package for the host Python when the discovered target has different marker values. Consumers need the target's complete default marker environment; tox's current fix obtains it with another interpreter query. This PR makes those values available from the discovery result.

The existing interpreter probe records all 11 default marker values in the target process. PythonInfo carries them through its existing JSON and disk cache serialization. Parity tests use packaging; production adds no runtime dependency.

Validation

Linux 3.9: 660 passed, 16 skipped; Linux 3.15: 658 passed, 17 skipped. Both report 100% coverage. Type checks for 3.9 and 3.15, docs with warnings treated as errors, and prek pass.

All four new marker tests pass on Windows 3.11 and 3.15, including platform values changed inside the target process. The full Windows 3.15 suite has 18 failures in existing discovery and registry tests; unmodified 1.7.0 reproduces the same 18 test IDs.

@gaborbernat gaborbernat added the enhancement New feature or request label Oct 30, 2026
@gaborbernat
gaborbernat marked this pull request as draft October 30, 2026 19:49
@gaborbernat
gaborbernat marked this pull request as ready for review October 30, 2026 19:57
@gaborbernat
gaborbernat merged commit ebcd41f into tox-dev:main Oct 30, 2026
20 checks passed
@gaborbernat
gaborbernat deleted the feature/target-marker-environment branch October 30, 2026 22:53
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.

1 participant