Skip to content

Conversation

@arwas11
Copy link
Contributor

@arwas11 arwas11 commented Jan 21, 2025

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:

  • 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)

Fixes #393138101 🦕

@arwas11 arwas11 requested a review from tswast January 21, 2025 21:50
@product-auto-label product-auto-label bot added size: s Pull request size is small. api: bigquery Issues related to the googleapis/python-bigquery-dataframes API. labels Jan 21, 2025
@arwas11 arwas11 added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jan 22, 2025
@bigframes-bot bigframes-bot removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jan 22, 2025
@tswast
Copy link
Collaborator

tswast commented Jan 22, 2025

Re: unit-3.13 failures,

ERROR scripts/test_publish_api_coverage.py::test_api_coverage_produces_expected_schema - NameError: name 'sklearn' is not defined ERROR scripts/test_publish_api_coverage.py::test_api_coverage_produces_missing_parameters - NameError: name 'sklearn' is not defined 

Let's skip these tests if scikit-learn is not installed. You can use the pytest.importorskip("sklearn") function.

@tswast
Copy link
Collaborator

tswast commented Jan 24, 2025

Getting "400 Runtime 'python313' is not supported." on remote functions tests. Let's skip those tests on Python 3.13 for now.

Edit: See supported runtime: https://cloud.google.com/functions/docs/runtime-support#python

@product-auto-label product-auto-label bot added size: m Pull request size is medium. and removed size: s Pull request size is small. labels Jan 24, 2025
@product-auto-label product-auto-label bot added size: s Pull request size is small. and removed size: m Pull request size is medium. labels Jan 24, 2025
@product-auto-label product-auto-label bot added size: m Pull request size is medium. and removed size: s Pull request size is small. labels Jan 28, 2025
@tswast tswast added the owlbot:run Add this label to trigger the Owlbot post processor. label Jan 28, 2025
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label Jan 28, 2025
@tswast tswast marked this pull request as ready for review January 28, 2025 17:08
@tswast tswast requested review from a team as code owners January 28, 2025 17:08
@tswast tswast requested a review from GarrettWu January 28, 2025 17:08
@tswast tswast added the do not merge Indicates a pull request not ready for merge, due to either quality or timing. label Jan 28, 2025
@tswast
Copy link
Collaborator

tswast commented Jan 28, 2025

e2e failures:

FAILED tests/system/small/test_series.py::test_series_bool_bool_operators_scalar[False-other_scalar2-and] FAILED tests/system/small/test_series.py::test_series_bool_bool_operators_scalar[False-other_scalar2-or] FAILED tests/system/small/test_series.py::test_series_bool_bool_operators_scalar[False-other_scalar2-xor] FAILED tests/system/small/test_remote_function.py::test_remote_function_application_repr FAILED tests/system/small/test_remote_function.py::test_remote_function_direct_no_session_param FAILED tests/system/small/test_remote_function.py::test_df_apply_axis_1 - goo... FAILED tests/system/small/test_remote_function.py::test_remote_function_direct_no_session_param_location_specified FAILED tests/system/small/test_remote_function.py::test_remote_function_unary_applied_after_filter[apply] FAILED tests/system/small/test_remote_function.py::test_df_apply_axis_1_ordering FAILED tests/system/small/test_remote_function.py::test_remote_function_direct_no_session_param_location_project_specified FAILED tests/system/small/test_remote_function.py::test_remote_function_unary_applied_after_filter[map] FAILED tests/system/small/test_remote_function.py::test_df_apply_axis_1_multiindex FAILED tests/system/small/test_remote_function.py::test_remote_function_direct_session_param FAILED tests/system/small/test_remote_function.py::test_remote_function_unary_applied_after_filter[mask] FAILED tests/system/small/test_remote_function.py::test_df_apply_axis_1_unsupported_dtype FAILED tests/system/small/test_remote_function.py::test_remote_function_via_session_default FAILED tests/system/small/test_remote_function.py::test_remote_function_binary_applied_after_filter FAILED tests/system/small/test_remote_function.py::test_remote_function_via_session_with_overrides FAILED tests/system/small/test_remote_function.py::test_remote_function_nary_applied_after_filter FAILED tests/system/small/test_remote_function.py::test_remote_function_unary_partial_ordering_mode_assign[apply] FAILED tests/system/small/test_remote_function.py::test_remote_function_unary_partial_ordering_mode_assign[map] FAILED tests/system/small/test_remote_function.py::test_remote_function_unary_partial_ordering_mode_assign[mask] FAILED tests/system/small/test_remote_function.py::test_dataframe_applymap - ... FAILED tests/system/small/test_remote_function.py::test_remote_function_binary_partial_ordering_mode_assign FAILED tests/system/small/test_remote_function.py::test_dataframe_applymap_explicit_filter FAILED tests/system/small/test_remote_function.py::test_remote_function_nary_partial_ordering_mode_assign FAILED tests/system/small/test_remote_function.py::test_dataframe_applymap_na_ignore FAILED tests/system/small/test_remote_function.py::test_series_map_bytes - go... FAILED tests/system/small/test_remote_function.py::test_skip_bq_connection_check FAILED tests/system/small/test_remote_function.py::test_read_gbq_function_like_original 30 failed, 2484 passed, 8 skipped, 42 xfailed, 2 xpassed, 713 warnings, 23 retried in 2864.77s (0:47:44) nox > Command py.test --quiet -n=20 --timeout=900 --durations=20 --junitxml=system_noextras_3.13_sponge_log.xml tests/system/small failed with exit code 1 nox > Session system_noextras failed. 

Need to update system_noextras to use Python 3.12, too.

@tswast
Copy link
Collaborator

tswast commented Jan 28, 2025

doctest failed a package installation step. I'll retry the job.

@tswast
Copy link
Collaborator

tswast commented Jan 28, 2025

notebook failure notebooks/remote_functions/remote_function_vertex_claude_model.ipynb not related.

@tswast tswast changed the title chore: Add support for Python 3.13 deps: Add support for Python 3.13 Jan 28, 2025
@tswast
Copy link
Collaborator

tswast commented Jan 29, 2025

e2e tests are passing!

notebook failure actually does look related this time:

FAILED notebooks/remote_functions/remote_function_vertex_claude_model.ipynb::remote_function_vertex_claude_model.ipynb - InvalidArgument: 400 Runtime 'python313' is not supported. Supported runtimes 

Some options:

It may be worth adding a check for Python 3.13 at the top of these notebooks:

Failed: getting_started/getting_started_bq_dataframes.ipynb Failed: location/regionalized.ipynb_asia-southeast1 Failed: location/regionalized.ipynb_eu Failed: location/regionalized.ipynb_europe-west4 Failed: location/regionalized.ipynb_southamerica-west1 Failed: location/regionalized.ipynb_us-central1 Failed: location/regionalized.ipynb_us Failed: remote_functions/remote_function.ipynb Failed: remote_functions/remote_function_usecases.ipynb Failed: remote_functions/remote_function_vertex_claude_model.ipynb 

If it is Python 3.13, then exit early with sys.exit(0). We can have a comment saying that Python 3.13 is not yet a supported runtime and to watch https://cloud.google.com/functions/docs/runtime-support#python for support for remote functions.

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@tswast tswast changed the title deps: Add support for Python 3.13 deps: Add support for Python 3.13 for everything but remote functions Jan 29, 2025
@tswast tswast enabled auto-merge (squash) January 29, 2025 17:59
@tswast tswast removed the do not merge Indicates a pull request not ready for merge, due to either quality or timing. label Jan 29, 2025
@tswast tswast merged commit 533db96 into main Jan 29, 2025
24 checks passed
@tswast tswast deleted the update-to-python-3-13 branch January 29, 2025 18:04
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-dataframes API. size: m Pull request size is medium.

4 participants