Skip to content

Allow overrides to exclude-newer #3809

Description

@sneakers-the-rat

Feature Description

Add additional config options for resolution for specific packages:

[tool.pdm.resolution]
exclude-newer = "7d"

[tool.pdm.resolution.exclude-newer-override]
mypackage = 0
anotherpackage = "3d"
pdm lock --exclude-newer 7d --exclude-newer-override mypackage=0 anotherpackage=3d

Problem and Solution

Many packages are developed in parallel with a family of packages that are updated closely together. the purpose of dep cooldowns is to limit supply chain risk from external packages and the dep tree, but it doesn't really make sense to enforce within the boundary of a dev group. to make exclude-newer work as a projectwide option, it needs to be possible to override.

this could be done with a simple exclude statement of package names, probably easier to implement, but i figure an override dict is the most general so i thought i'd pitch that.

Additional Context

e.g. locking fails here: https://github.com/miniscope/minian/actions/runs/27744808625/job/82080473340?pr=335

because the package minisim which is developed concurrently was uploaded within the 7d dep cooldown window

lmk what's good. sorry for stalling on the typing PRs, but i figure those are low priority, will get back to those soon. would be willing to fix this asap once you get a second to check it out and say what path you'd like to take on this

Are you willing to contribute to the development of this feature?

  • Yes, I am willing to contribute to the development of this feature.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ⭐ enhancementImprovements for existing features

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions