-
Notifications
You must be signed in to change notification settings - Fork 132
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
Remove pyarrow from setup.py #470
Conversation
If we were to remove it, I think we'd need to make sure we specify the python-bigquery-sqlalchemy/setup.py Line 87 in 52ec808
Alternatively, there may be a |
Related: googleapis/python-bigquery#1196 is an open issue for a request to make pyarrow optional again in |
Why is that exactly? I don't see any explicit uses of pyarrow here, my thinking was that if other libraries that we depend on here need it then it'll get pulled in during the setup for those libraries. But for example this seems like another good motivation for removing:
If this were made optional, right now there'd need to be a separate PR (like this one) to remove that dependency here. But if you just defer to |
The DB-API package that this depends on can optionally rely on the BigQuery Storage API, which requires pyarrow to deserialize the results. This can be much faster for downloading large results, but won't make much of a difference for smaller result sizes. |
If we were to drop pyarrow, we should also drop bqstorage. Ideally, we'd include these as "extras" and make sure we have tests where these packages are not installed & installed. |
1196 got closed via this PR: https://github.com/googleapis/python-bigquery/pull/1282/files That PR made |
#414 added
pyarrow
to thesetup.py
as part of addinggoogle-bigquery-storage
toinstall_requires
. I understand the motivation for addinggoogle-bigquery-storage
, but since that has its own allowedpyarrow
version range, it seems simpler to just rely on that rather than specifying yet anotherpyarrow
range here which can get (/ currently is) out of sync with that library.@tswast what do you think?