Skip to content

Run checks to use latest supported Python (3.9) #462

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

Closed
plamut opened this issue Jan 7, 2021 · 7 comments
Closed

Run checks to use latest supported Python (3.9) #462

plamut opened this issue Jan 7, 2021 · 7 comments
Assignees
Labels
api: bigquery Issues related to the googleapis/python-bigquery API. type: process A process-related concern. May include testing, release, or the like.

Comments

@plamut
Copy link
Contributor

plamut commented Jan 7, 2021

In setup.py and in README we declare that we support Python >= 3.6, but the nox test sessions only use Python up to 3.8. Python 3.9 is also missing from the classifiers list in setup.py.

We should bump the maximum versions to 3.9 where applicable. If tests fail in 3.9, we should bound the python_requires version in setup.py until the failures are fixed (though - bound it in any case and manually increase only after we confirm that it works with the new minor Python release?).

If we first need to setup Kokoro environment to support Python 3.9 test environment, let's do that and keep this ticket open as a reminder.

cc: @tswast @busunkim96

@plamut plamut added the type: process A process-related concern. May include testing, release, or the like. label Jan 7, 2021
@product-auto-label product-auto-label bot added the api: bigquery Issues related to the googleapis/python-bigquery API. label Jan 7, 2021
@tswast
Copy link
Contributor

tswast commented Jan 7, 2021

This was blocked by grpcio and arrow, but wheels have been released for both packages now
(grpc/grpc#24344 (comment), https://issues.apache.org/jira/browse/ARROW-10224)

@plamut
Copy link
Contributor Author

plamut commented Jan 7, 2021

As a quick check, I tried to install the library with Python 3.9, but failed, because pyarrow pulled in numpy==1.16.0, but the latter failed to compile on my machine (Ubuntu), and there is no wheel for it. It didn't help if I installed numpy==1.19.5, pyarrow was still stubbornly pulling in 1.16.0.

TL; DR - I was not able to install BigQuery localy with Python3.9, and thus could not run the tests either.

Update: @tswast Are you sure pyarrow wheels for Python 3.9 have actually been released? They are not listed on PyPI, and even the corresponding arrow ticket specifies that the changes will be released with pyarrow==3.0.0.

It appears that we need to constrain the bqstorage and pandas extras for the time being - but in that case it would be quite bold to claim that the library supports Python 3.9 without the Pandas and BQ Storage extras...

@tswast
Copy link
Contributor

tswast commented Jan 12, 2021

I misunderstood the ticket. They have released 3.9 wheels to nightly but not public PyPI yet. See my thread talking to myself in: googleapis/python-bigquery-storage#99

@tswast
Copy link
Contributor

tswast commented Jan 25, 2021

Arrow 3.0 release with Python 3.9 support is in the works. apache/arrow#9245

@kszucs
Copy link

kszucs commented Jan 26, 2021

The wheels are available now on pypi.

@plamut
Copy link
Contributor Author

plamut commented Jan 27, 2021

@kszucs That's great, thanks a lot!

Edit: And I managed to successfully run all unit tests under Python 3.9, too. 🎉

@tswast tswast self-assigned this Jan 27, 2021
gcf-merge-on-green bot pushed a commit that referenced this issue Jan 27, 2021
Towards #462.

With wheels for `pyarrow==3.0.0` released we can now officially support Python 3.9 - well, at least after when we add Python 3.9 checks to Kokoro.

PR checklist:
- [x] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
@galuszkak
Copy link

@plamut I think this ticket can be closed.

@tswast tswast closed this as completed Oct 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: bigquery Issues related to the googleapis/python-bigquery API. type: process A process-related concern. May include testing, release, or the like.
Projects
None yet
Development

No branches or pull requests

4 participants