Prepare dynamic metadata before constructing the Python dependency graph. Use prepare_metadata_for_build_wheel where available and build a wheel as the PEP 517 fallback. Retain fallback wheels for noneditable installation with the same interpreter. Preserve hook-prepared metadata directories for noneditable builds. Validate static dependency and interpreter declarations before resolution, and reject final wheels whose dependencies, interpreter support, or extras differ from the prepared metadata. Reuse the prepared manifests and workspace scopes when resolving sources. Evaluate active platform markers and requested extras during source traversal. Discover requirements.txt through the shared workspace inventory and treat requirements-only directories as dependency projects without building the directory itself or generating a pyproject.toml. Included files contribute to the requirement inputs used for frozen-lockfile validation. Backend requirements retain the existing allowBuilds policy. Metadata preparation fails when approval is missing because resolution cannot continue without running the backend. Dynamic metadata is currently prepared for each project's selected interpreter and refreshed if dynamic interpreter support changes that selection. External, undiscovered path sources still require static metadata. Adding dependencies to dynamic metadata is not part of this change. Related to pnpm/pnpm#14945 (item 7).
268 B
268 B
pacquet
| pacquet |
|---|
| minor |
pnpm install now reads dynamic Python project metadata from the build backend. Projects with only a requirements.txt file now get a Python environment and lockfile. Related to pnpm/pnpm#14945.