Conversation

plamut

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:

  • Make sure to open an issue as a bug/issue before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
  • Ensure the tests and linter pass
  • Code coverage does not decrease (if any source code was changed)
  • Appropriate docs were updated (if necessary)

@plamutplamut added the type: processA process-related concern. May include testing, release, or the like.label Jan 27, 2021
@plamutplamut requested review from a team and shollyman and removed request for a team January 27, 2021 16:49
@product-auto-labelproduct-auto-label bot added the api: bigqueryIssues related to the googleapis/python-bigquery API.label Jan 27, 2021
@google-clagoogle-cla bot added the cla: yesThis human has signed the Contributor License Agreement.label Jan 27, 2021
@plamutplamut requested a review from tswast January 27, 2021 16:54
@plamut

Oh, we need to bump the version in samples/, too.
Nah, only after we release BQ with Py3.9 support.

@plamut

FWIW, I successfully ran unit and system test with Python 3.9 locally (Ubuntu).

setup.py Outdated
],
"pandas": [
"pandas>=0.23.0",
# pyarrow 1.0.0 is required for the use of timestamp_as_object keyword.
"pyarrow >= 1.0.0, < 3.0dev",
"pyarrow >= 3.0.0, < 4.0dev",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto.

setup.py Outdated
@@ -45,12 +45,11 @@
# grpc.Channel.close() method isn't added until 1.32.0.
# https://.com/grpc/grpc/pull/15254
"grpcio >= 1.32.0, < 2.0dev",
"pyarrow >= 1.0.0, < 3.0dev",
"pyarrow >= 3.0.0, < 4.0dev",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we keep this at 1.0 as a minimum? Or were there breaking changes we needed to account for?

Since pyarrow is a core library, the wider we can keep these dependencies, the fewer conflicts we'll get.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, assuming Python 3.6 tests pass with pyarrow==1.0.0

@tswast

I pushed a commit that adds some variables for python versions to the noxfile. This is to align more closely with the central "synthtool" template.

Also, I remembered that we'll probably need pyarrow>=3.0 for #447, but I'd still like to avoid that requirement if at all possible, since BIGNUMERIC is less commonly used than is pyarrow 1&2 right now.

@tswasttswast added the automergeMerge the pull request once unit tests and other checks pass.label Jan 27, 2021
@tswasttswast changed the title process: declare support for Python 3.9 deps: declare support for Python 3.9 Jan 27, 2021
@gcf-merge-on-greengcf-merge-on-green bot merged commit 55daa7d into googleapis:master Jan 27, 2021
@gcf-merge-on-greengcf-merge-on-green bot removed the automergeMerge the pull request once unit tests and other checks pass.label Jan 27, 2021
@plamutplamut deleted the support-py-3.9 branch January 28, 2021 08:02
@tswasttswast mentioned this pull request Jan 28, 2021
Sign up for free to join this conversation on . Already have an account? Sign in to comment
api: bigqueryIssues related to the googleapis/python-bigquery API.cla: yesThis human has signed the Contributor License Agreement.type: processA process-related concern. May include testing, release, or the like.
None yet

Successfully merging this pull request may close these issues.