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.
This PR contains the following updates:
==2.16.1
->==2.17.1
Release Notes
pdm-project/pdm (pdm)
v2.17.1
Compare Source
Bug Fixes
Miscellany
v2.17.0
Compare Source
Breaking Changes
LockedRepository.all_candidates
now returns adict[str, list[Candidate]]
instead ofdict[str, Candidate]
. (#2995)post_lock
hook now receives a resolution result of typedict[str, list[Candidate]]
, instead ofdict[str, Candidate]
. (#2995)Features & Improvements
Support reading requirement constraints from pip-style requirement files for "overriding" via
--override
option. (#2896)Add a
--non-interactive
option for automation scenarios, also interactive prompts will not show up when not running in an interactive terminal. (#2934)Refactored
pdm python install --list
to reuse the same implementation as other cli commands that work with Python interpreters from pbs_installer. (#2977)Add
--license
and--project-version
as CLI options to control and streamline them duringpdm init
- especially in automated scenarios with--non-interactive
(#2978)Run pdm sync in "post-rewrite" stage of pre-commit (#2994)
Project.get_dependencies()
now returns a list ofRequirement
instead of a mapping.The first argument of
Project.add_dependencies()
now accepts a list ofRequirement
instead of a mapping.The old usage will be kept working for a short period of time and will be removed in the future. (#2995)
Support locking for specific target, which is a combination of (python, platform, implementation) triple. Bump lock file version to
4.5.0
.Example usage:
pdm lock --platform=linux --python="==3.8.*" --implementation=cpython
. See the docs for more details. (#2995)Rename
--reuse-env
to--recreate
forrun
command, and reverse the behavior. (#2999)PDM is now published with optional pinned dependencies using the pdm plugin pdm-build-locked.
To install pdm with its dependencies pinned to the versions it was tested with, run:
To install optional dependency group copier:
This feature is entirely optional. Installing pdm without the extra will work the same way as before this change. (#3001)
Added
--clean-unselected
alias for--only-keep
(#3007)Group options for update strategy and save strategy. (#3016)
Bug Fixes
-p
is passed to change the project root. (#3009)PATH
env var length to grow. (#3022)Removals and Deprecations
BaseCommand.__init__()
method. Now it doesn't take any arguments. (#2995)Provider.get_reuse_candidate()
method is deprecated in favor ofProvider.iter_reuse_candidates()
, to return an iterable of reuse candidates. (#2995)--no-markers
option inpdm export
command becomes a no-op and is marked as deprecated, because it doesn't make sense anymore. (#2995)ignore_compatibility
parameter ofProject.get_provider()
/Project.get_repository()
/Environment.get_finder()
is deprecated. Pass in aEnvSpec
viaenv_spec
parameter instead.requires_python
parameter ofpdm.resolver.core.resolve()
function is deprecated and has no effect.cross_platform
parameter ofpdm.cli.actions.resolve_candidates_from_lockfile()
function is deprecated and has no effect. (#2995)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.