Merged
Conversation
Add a dedicated PEP 751 pylock.toml parser for PyPI projects, including a new datasource ID, Python sibling assembly integration, and generated supported-format registration. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Add unit and golden coverage for pylock.toml parsing, including shared-root classification, ambiguous reference handling, provenance extraction, and realistic lockfile fixtures. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Add regression coverage for pyproject.toml merging with both pylock.toml and named pylock lockfiles so Python sibling assembly stays stable. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Keep the crate-level supported-ecosystem summary aligned with the parser surface by listing pylock.toml in the Python format inventory. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Remove pylock.toml from the parser backlog and document the new beyond-parity parser so planning and improvement docs match the implemented feature set. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Fail closed when required pylock metadata is missing or unsupported so incomplete lockfiles do not produce partial package extraction. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
PylockTomlParserwith a newPypiPylockTomldatasource and Python sibling assembly support for bothpylock.tomland namedpylock.*.tomlfilesvcs/directory/archive/sdist/wheels, and golden regression coveragepylock.tomlsupport and remove#116from the highest-value backlogHardening notes
[[packages]]entrypylock.*.tomlfiles assemble withpyproject.tomljust likepylock.tomlvcs,directory,archive,sdist, andwheels'value' in extrasand'value' in dependency_groupsmembership markers are interpreted, and ambiguous scope propagation collapses to no scope instead of guessingVerification
cargo fmt --allcargo test pylock_toml --libcargo test --features golden-tests test_parse_pylock_toml_golden --libcargo test assembly::assemblers::tests::test_every_datasource_id_is_accounted_for --libcargo test test_assemble_python_pyproject_with_pylock_toml --libcargo test test_assemble_python_pyproject_with_named_pylock_toml --libcargo run --quiet --bin generate-supported-formatscargo clippy --all-targets --all-features -- -D warningscargo buildnpx prettier --check docs/implementation-plans/package-detection/PARSER_PLAN.md docs/improvements/README.md docs/improvements/pylock-toml-parser.md docs/SUPPORTED_FORMATS.mdnpx markdownlint-cli2 docs/implementation-plans/package-detection/PARSER_PLAN.md docs/improvements/README.md docs/improvements/pylock-toml-parser.md docs/SUPPORTED_FORMATS.mdCloses #116