Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pip-compile needs option for building lower constraints (oldest) #1279

Open
ssbarnea opened this issue Dec 26, 2020 · 2 comments
Open

pip-compile needs option for building lower constraints (oldest) #1279

ssbarnea opened this issue Dec 26, 2020 · 2 comments
Labels
feature Request for a new feature

Comments

@ssbarnea
Copy link
Member

What's the problem this feature will solve?

Verify if project requirements are not outdated and allowing versions that are not really compatible.

Describe the solution you'd like

While pip-compile is great for producing pin lists, it does this by preferring the latest versions published. That is good as for validating the upper bounds.

Still, for library that do need to support a wide range of dependency this approach does detection of code changes that may make use of features that were introduce in newer versions of the dependencies, mainly the advertised dependencies may get out of sync.

We need a feature that would allow us to build a lower-constraints.txt file and used that for validating the worst-case of outdated but supported dependencies.

Alternative Solutions

Additional context

Obviously that this feature needs and optional switch and that users would need to created separated test environments for this particular case. Still, this is very easy to implement once pip-compile would be able to run using prefer oldest instead of prefer-newest.

@atugushev atugushev added the feature Request for a new feature label Dec 30, 2020
@ssbarnea
Copy link
Member Author

I someone wants to raise a PR for implementing this, i will be more than happy to review it.

@dscorbett
Copy link

I have written a script that does something like this. Maybe you can use it as the basis for something in pip-tools. I can relicense it if necessary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Request for a new feature
Projects
None yet
Development

No branches or pull requests

3 participants