-
Notifications
You must be signed in to change notification settings - Fork 309
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
fix: make pyarrow
an optional dependency post-3.20.0 yanked release
#1879
Conversation
We appear to have two conflicting versions of The Line 40: Later when we reference Line 125: we are implicitly referencing version But in Line 30: QUESTION: should those two match? |
No. They should not.
There is a comment explaining exactly this. See: #933 Requiring the correct version of pyarrow to be installed broke some environments where pyarrow was stuck on an older version. We need to be robust to this failure mode. |
See: https://pip.pypa.io/en/stable/user_guide/#constraints-files for more information on constraints files. When applied, it affects what version of a package is installed but it doesn't affect packages that aren't included because of a transitive dependency of the package being installed. |
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. I will not merge for now, waiting for Chalmer to see the response.
Thanks @tswast
|
That's correct. Note that we are installing |
pyarrow
an optional dependency againpyarrow
an optional dependency post-3.20.0 yanked release
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
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.
Generally, looks like a good unwinding of the behavior changes and test configurations. I did add one question around test philosophy that may be outside the scope of this PR specifically.
pyarrow is not None, | ||
reason="pyarrow is installed, but this test needs it not to be", | ||
) | ||
def test_try_import_raises_error_w_no_pyarrow(): |
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 there a way of asserting that a test like this was run at least once across multiple sessions? Without that, we could still potentially swallow this signal if the precondition is never met.
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.
Coverage should catch that. We check coverage on test files as well as the core library.
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.
See:
Line 97 in 7dfee0c
"--cov=tests/unit", |
Partial rollback of 0ac6e9b
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
Fixes #1877 🦕