Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
61fa309
fix(ci): support modern uv backend in docfx and latest pandas in db-d…
chalmerlowe Sep 30, 2026
4ddde05
fix(ci): use virtualenv backend for sqlalchemy-bigquery and restore t…
chalmerlowe Sep 30, 2026
39371da
test(db-dtypes): narrow TypeError substring matching to avoid false p…
chalmerlowe Sep 30, 2026
b4644c3
test(db-dtypes): anchor reduction TypeError check to datetime64 and d…
chalmerlowe Sep 30, 2026
f12d525
chore(sqlalchemy-bigquery): add VENV_BACKEND constant and note explai…
chalmerlowe Sep 30, 2026
7e73145
Apply suggestion from @chalmerlowe
chalmerlowe Sep 30, 2026
6a27c42
test(db-dtypes): pin pandas < 3.1.0dev0 in constraints-3.14.txt to is…
chalmerlowe Sep 30, 2026
c43cc6b
docs(db-dtypes): simplify explanatory comment in constraints-3.14.txt
chalmerlowe Sep 30, 2026
acc3afb
fix(sqlalchemy-bigquery): support WindowFunctionTest test name across…
chalmerlowe Sep 30, 2026
75ba6cc
fix(sqlalchemy-bigquery): bind compliance session to DEFAULT_PYTHON_V…
chalmerlowe Sep 30, 2026
83c728d
fix(sqlalchemy-bigquery): exclude TableViaSelectTest in compliance tests
chalmerlowe Sep 30, 2026
a79d047
fix(sqlalchemy-bigquery): map DOUBLE and DOUBLE_PRECISION to FLOAT64
chalmerlowe Oct 1, 2026
084a8b9
fix(db-dtypes): handle unreachable python.org intersphinx inventory i…
chalmerlowe Oct 1, 2026
b8051d5
fix(sqlalchemy-bigquery): handle unreachable python.org intersphinx i…
chalmerlowe Oct 1, 2026
5abe3f1
docs: add explanatory comment for intersphinx inventory fallback
chalmerlowe Oct 1, 2026
441b68b
chore: move sqlalchemy-bigquery changes to dedicated PR #18534
chalmerlowe Oct 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion packages/db-dtypes/docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -359,7 +359,6 @@

# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {
"python": ("https://python.readthedocs.org/en/latest/", None),
"google-auth": ("https://googleapis.dev/python/google-auth/latest/", None),
"google.api_core": (
"https://googleapis.dev/python/google-api-core/latest/",
Expand All @@ -371,6 +370,21 @@
"pandas": ("https://pandas.pydata.org/pandas-docs/stable/", None),
}

# Check reachability of the Python standard library inventory before attaching it.
# Because Sphinx is run with `-W` (warnings as errors) in CI, an external network
# failure or upstream outage on docs.python.org would otherwise treat the missing
# inventory as a fatal error and fail the build.
try:
import urllib.request

with urllib.request.urlopen("https://docs.python.org/3/objects.inv", timeout=2):
intersphinx_mapping["python"] = (
"https://python.readthedocs.org/en/latest/",
None,
)
except Exception:
pass


# Napoleon settings
napoleon_google_docstring = True
Expand Down
10 changes: 10 additions & 0 deletions packages/db-dtypes/testing/constraints-3.14.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# When testing with `pandas >= 3.1.0` (currently in pre-release as `pandas==3.1.0rc0`),
# the `db-dtypes` compliance test suite (`tests/compliance`) fails due to upstream
# changes in pandas internal utilities and ExtensionArray interface contracts.
# To prevent presubmit PR CI from failing unexpectedly on developer branches, a
# temporary ceiling constraint (`pandas < 3.1.0dev0`) was added.
#
# Forward-looking tests against upcoming, unreleased versions of pandas and other
# dependencies continue to run in our dedicated pre-release test suite.

pandas < 3.1.0dev0
20 changes: 18 additions & 2 deletions packages/db-dtypes/tests/unit/test_dtypes.py
Original file line number Diff line number Diff line change
Expand Up @@ -534,7 +534,15 @@ def exercise_any():
try:
return a.any()
except TypeError as e:
if "does not support operation" in str(e) or "not supported" in str(e):
# Truth reduction ('any'/'all') is disallowed on datetime64 arrays (pandas GH#34479).
# Known messages across pandas versions:
# - pandas < 3.0: "datetime64 type does not support operation 'any'"
# - pandas >= 3.0: "'any' with datetime64 dtypes is not supported"
# - test mock: "does not support operation"
msg = str(e)
if "does not support operation" in msg or (
"datetime64" in msg and "is not supported" in msg
):
return
raise e

Expand Down Expand Up @@ -571,7 +579,15 @@ def exercise_all():
try:
return a.all()
except TypeError as e:
if "does not support operation" in str(e) or "not supported" in str(e):
# Truth reduction ('any'/'all') is disallowed on datetime64 arrays (pandas GH#34479).
# Known messages across pandas versions:
# - pandas < 3.0: "datetime64 type does not support operation 'all'"
# - pandas >= 3.0: "'all' with datetime64 dtypes is not supported"
# - test mock: "does not support operation"
msg = str(e)
if "does not support operation" in msg or (
"datetime64" in msg and "is not supported" in msg
):
return
raise e

Expand Down
4 changes: 3 additions & 1 deletion packages/gcp-sphinx-docfx-yaml/noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,9 @@ def lint_setup_py(session):
session.run("flake8", "setup.py")


@nox.session(python=UNIT_TEST_PYTHON_VERSIONS)
# Use virtualenv backend to prevent modern uv build isolation from failing on
# legacy sdist dependencies (unify/untokenize)
@nox.session(python=UNIT_TEST_PYTHON_VERSIONS, venv_backend="virtualenv")
def unit(session):
"""Run unit tests."""
# Re-enable 3.11, 3.12, and 3.13 after environment verification.
Expand Down
Loading