-
-
Notifications
You must be signed in to change notification settings - Fork 18.1k
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
ENH: Add pre-commit check for setup.cfg options.extras_require #49261
Conversation
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.
Is the check working correctly as https://github.com/pandas-dev/pandas/actions/runs/3307040746/jobs/5458375266 is failing?
Moreover, it would be great if the diff could be made clearer to state which file states which version e.g.
{package}
{file_1}: {version_1}
{file_2}: {version_2}
{file_3}: {version_3}
Bringing over my main issue comment:
I agree with mroescke's suggestion for how to format that information. |
Yes I agree we can make the diff more informative, I will work on making those changes. However, not sure why the check isn't working as intended. Following from the logic of the previous iteration of My hunch is maybe it's picking up versions that are defined in one place but not anywhere else? Maybe I'm missing something but will have a crack and look into it. |
Question: are we excluding |
Maybe can ignore the testing group for now. They can be addressed in a follow up PR |
Update: I nearly have it working but there are a couple of things I wanted to raise:
Is this something we should be picking up? Or are these false positives.
Not sure how we want to deal with those. Would probably just be easier to make sure these follow the same conventions? |
Ideally all files should have the same library with the same version (and format) specified. |
Okay I'll commit my changes shortly. Looks like there are a few libraries not in sync (if the check is working correctly). The pre-commit hook will expose them and you can let me know if we want to change/update/add them in this PR. |
Is there anything else I need to do here? |
The check is failing at the moment, so the versions should be aligned to get the check to pass before this can be merged It's probably worth also checking that any minimum aligns with with what's been reported as the minimum version in the whatsnew notes. For example, Line 124 in bcb8346
pandas/doc/source/whatsnew/v1.5.0.rst Line 563 in 145e527
So, it'd be good to align the |
Okay cool. I'll check with what's in the what's new and change accordingly. |
I've aligned versions across the files (checking what's in |
Some of the packages I've aligned seem to be causing in issue in: https://github.com/pandas-dev/pandas/actions/runs/3362264680/jobs/5573763359
Not sure any of the other fails are to do with this PR. |
I think for
|
@mroeschke @kostyafarber Regarding the build error Ah, this is a common issue. This was mentioned back in June for Pandas here, and it has been discussed more extensively in other repos (eg. here) I am not sure if there is a functional reason for pandas to advance the s3fs version pin beyond 0.4.0. My 2 cents are that the s3fs version should to be held at 0.4.0 until the aiobotocore issue is resolved. I'm happy to make a separate issue, adr, or PDEP to have that discussion if it needs to be had (@mroeschke ?) |
@JMBurley sounds like a mess. I've pinned |
@mroeschke looks to be okay. Just one fail due to something with |
Gonna leave it here. If there's anything else I need to do let me know. All checks successful @mroeschke @JMBurley @MarcoGorelli |
Any updates on this one? |
matplotlib>=3.3.2 | ||
matplotlib>=3.6.1 |
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 - I think older versions of matplotlib were failing the CI checks, so it's good you've caught this
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.
No worries. Only caught it because of the script 😄
Thanks for reviewing and chasing up.
@@ -45,7 +46,7 @@ dependencies: | |||
- pytables=3.6.1 | |||
- python-snappy=0.6.0 | |||
- pyxlsb=1.0.8 | |||
- s3fs=2021.08.0 | |||
- s3fs=0.4.0 |
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.
The issue is well covered in prior links (here) but in summary when s3fs required aiobotocore (which in turn required boto3) it was incompatible with any other package that used boto3 because aiobotocore has extremely tight OLD pins to boto3 that other libraries generally don't. However, it looks like this may have been quietly resolved in the past few months as my simple test
run with In which case I remove my objection if we can get tests working here with a newer s3fs version. Although I am concerned that aiobotocore has historically caused packaging issues frequently so might not be "safe" long-term. |
@JMBurley bumped |
Looks good 👍🏻 |
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.
Co-authored-by: Marco Edward Gorelli <33491632+MarcoGorelli@users.noreply.github.com>
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 thanks for the work here!
Awesome work @kostyafarber; glad this caught some issues already :) and thanks @JMBurley for your continued guidance here |
No worries @mroeschke glad I could help. Thanks for the support everybody! 🚀 |
…s-dev#49261) * Add dependency check for setup.cfg * improve diff alert, add install mapping, remove test deps * align versions across min version files * fix version issues for boto3, s3fs and pyqt5. Small change to script * fix version equality, modify script for CI check * fix version typo in min version yaml and update min version script * bump fsspec, gcsfs to match in whats new * Revert "bump fsspec, gcsfs to match in whats new" This reverts commit 52efecb. * align fastparquet, lowercase PyQt5 * ENH: align matplotlib versions * ENH: align matplotlib in setup.cfg * bump s3fs across min version files * Update scripts/validate_min_versions_in_sync.py Co-authored-by: Marco Edward Gorelli <33491632+MarcoGorelli@users.noreply.github.com> Co-authored-by: Marco Edward Gorelli <33491632+MarcoGorelli@users.noreply.github.com>
…s-dev#49261) * Add dependency check for setup.cfg * improve diff alert, add install mapping, remove test deps * align versions across min version files * fix version issues for boto3, s3fs and pyqt5. Small change to script * fix version equality, modify script for CI check * fix version typo in min version yaml and update min version script * bump fsspec, gcsfs to match in whats new * Revert "bump fsspec, gcsfs to match in whats new" This reverts commit 52efecb. * align fastparquet, lowercase PyQt5 * ENH: align matplotlib versions * ENH: align matplotlib in setup.cfg * bump s3fs across min version files * Update scripts/validate_min_versions_in_sync.py Co-authored-by: Marco Edward Gorelli <33491632+MarcoGorelli@users.noreply.github.com> Co-authored-by: Marco Edward Gorelli <33491632+MarcoGorelli@users.noreply.github.com>
Augmented
scripts/validate_min_versions_in_sync.py
to ensure that minimum versions are aligned in other areas where minimum versions are specified (setup.cfg
).doc/source/whatsnew/vX.X.X.rst
file if fixing a bug or adding a new feature.