-
Notifications
You must be signed in to change notification settings - Fork 2
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
Script to check for outdated dependencies (GSI 371) #165
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Cito
previously approved these changes
Sep 29, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work.
Some suggestions below.
Pull Request Test Coverage Report for Build 6381922761
💛 - Coveralls |
KerstenBreuer
previously approved these changes
Oct 2, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Cito
requested changes
Oct 2, 2023
Make it return Requirement objects to satisfy both use cases Separate file prevents having to include stringcase in pre-commit-config
Accept arbitrary tuple lengths in print_table
Cito
requested changes
Oct 2, 2023
Cito
previously approved these changes
Oct 2, 2023
KerstenBreuer
previously approved these changes
Oct 2, 2023
Cito
approved these changes
Oct 2, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 adds a script (
scripts/list_outdated_dependencies.py
) that is meant to:--transitive
, list outdated transitive dependencies based on what is pinned in the lock file.It works by obtaining the latest version of a package from PyPI and seeing whether that version satisfies the version range we have specified.
Uncapped dependencies should therefore always be omitted by this method.
For example, if we required hexkit like this:
hexkit ~= 0.9.0
and the latest version on PyPI is 0.10.x, then the script will see that 0.10.x is not contained within the specifier
~= 0.9.0
and flag it as outdated.If the specifier were uncapped, e.g.
hexkit >= 0.9.0
, then it would not be flagged as outdated because 0.10.x also satisfies>= 0.9.0
.Originally, this functionality was proposed to be included in the
update_lock.py
script. Even though some of the functionality is shared (e.g. examining a modifiedpyproject.toml
), it would have been a shoehorn job.update_lock.py
serves to resolve all project dependencies and update the lock files (and it takes some time), while the purpose of this script is to: