Give Python installation an independent crate boundary. Keep project discovery and command adaptation in the CLI, and pass manifest paths plus install and add options into the installer. Move manifest handling, resolution, wheel fetching, interpreter operations, and environment publication and rollback together. Preserve the existing unit and CLI integration coverage and execution-path behavior. Move pnpr ecosystem capability caching into the client crate so Cargo and Python installation share the same process-wide cache without depending on the CLI. Cover concurrent reuse and cached failures with tests. Remove Python version/requirement type dependencies from the CLI while retaining its resolver dependency for command-line specifier parsing. Reject invalid Python save prefixes before preparing an install, preserving the accepted values and default. Include regression coverage and a release note. Follow-up to pnpm/pnpm#14816.
151 B
151 B
pacquet
| pacquet |
|---|
| patch |
pnpm add pypi:... now rejects an unsupported --save-prefix before editing the Python manifest or resolving dependencies.