Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
7b13a81
test: enables assorted tests
chalmerlowe Apr 10, 2026
1b30c5f
test: revise mypy session to python 3.14
chalmerlowe Apr 10, 2026
cbafca8
test: enables system.sh script to accept NOX_SESSIONS from configs li…
chalmerlowe Apr 10, 2026
3df718a
test: adds core_deps_from_source session
chalmerlowe Apr 10, 2026
9f09980
test: adds parametrization for system & system_noextras
chalmerlowe Apr 10, 2026
bafff39
test: adds constant to match expectations of core_deps_from_source
chalmerlowe Apr 10, 2026
0450b6b
test: adds re (regex) import to support core_deps_from_source nox ses…
chalmerlowe Apr 10, 2026
314a2b3
Merge branch 'main' into test-enable-assorted-tests
chalmerlowe Apr 10, 2026
4106be3
test: restore Python runtimes to match split repo
chalmerlowe Apr 10, 2026
be47e99
test: remove 3.9 from noxfile.py
chalmerlowe Apr 10, 2026
920be87
test: add 3.9 back in cause CI/CD pipeline expects it, even if we ski…
chalmerlowe Apr 10, 2026
f90c49b
chore: filters out fiona
chalmerlowe Apr 10, 2026
fbeffee
chore: adjusts type hints to account for complications with mypy
chalmerlowe Apr 10, 2026
aa6e4d8
chore: adjusts type hints to account for complications with mypy part 2
chalmerlowe Apr 10, 2026
32d0c23
chore: adjusts type hints to account for complications with mypy part 3
chalmerlowe Apr 10, 2026
c714005
chore: adjusts type hints to account for complications with mypy part 4
chalmerlowe Apr 10, 2026
48f9953
chore: adjusts type hints to account for complications with mypy part 5
chalmerlowe Apr 10, 2026
cc20328
chore: adjusts test fixture to use mock object
chalmerlowe Apr 10, 2026
638f083
chore: adjusts type hints to account for complications with mypy part 6
chalmerlowe Apr 10, 2026
ddd1798
fix: update fillna behavior in series.py to process null values
chalmerlowe Apr 13, 2026
b37e6f9
fix(bigframes): qualify column references in from_table to avoid ambi…
chalmerlowe Apr 13, 2026
6281aad
fix(bigframes): updates comment related to select_items revision
chalmerlowe Apr 13, 2026
331784d
Reverting the last 3 commits to allow discussion
chalmerlowe Apr 13, 2026
79f8706
test:updates system nox session to only run w/ extras in deference to…
chalmerlowe Apr 13, 2026
af805b2
test:updates prerelease_deps nox session to only run w/ unit in defer…
chalmerlowe Apr 13, 2026
bfacee1
test: adds doctest presubmit session
chalmerlowe Apr 13, 2026
639d4b4
test: adds several continuous/nightly sessions
chalmerlowe Apr 13, 2026
63a8db8
Apply suggestion from @chalmerlowe
chalmerlowe Apr 13, 2026
22714cb
Apply suggestion from @chalmerlowe
chalmerlowe Apr 13, 2026
45edec2
chore: updates linting
chalmerlowe Apr 13, 2026
71db755
chore: updates mypy type hinting in geo_ops.py
chalmerlowe Apr 13, 2026
ae27eed
chore: update codeowners (#16612)
parthea Apr 10, 2026
9de5395
chore: first migration to librarian (#16614)
jskeet Apr 10, 2026
8ac5754
feat(firestore): pipeline search (#16469)
daniel-sanche Apr 10, 2026
65d299e
feat(firestore): new generic pipeline expressions (#16550)
daniel-sanche Apr 13, 2026
6bf488c
feat(google-cloud-vectorsearch): regenerate library (#16626)
codyoss Apr 13, 2026
b3ce14c
fix(bigframes): Fix bugs compiling ambiguous ids and in subqueries (#…
TrevorBergeron Apr 13, 2026
0710d70
chore(firestore): prep for firestore pipelines GA (#16549)
daniel-sanche Apr 13, 2026
bf376f5
tests: consolidate docs presubmits (#16628)
parthea Apr 13, 2026
76e2a47
tests: remove 'treat warnings as errors' flag for docs (#16627)
parthea Apr 13, 2026
1ee75a8
test: adds parametrization for system & system_noextras
chalmerlowe Apr 10, 2026
31f2ece
test:updates system nox session to only run w/ extras in deference to…
chalmerlowe Apr 13, 2026
fe7b8b4
chore: updates linting
chalmerlowe Apr 13, 2026
bb6ac8d
disable bigquery_write test
TrevorBergeron Apr 13, 2026
030f7af
Merge branch 'main' into test-enable-assorted-tests
chalmerlowe Apr 14, 2026
b95638a
updates: env vars for the doctest.cfg file
chalmerlowe Apr 14, 2026
f6296fe
chore: revise name of doctest config
chalmerlowe Apr 14, 2026
f5a129f
chore: temporarily skip doctest
chalmerlowe Apr 14, 2026
f42905c
chore: update linting
chalmerlowe Apr 14, 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
94 changes: 44 additions & 50 deletions packages/bigframes/noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -929,60 +929,54 @@ def core_deps_from_source(session):
session.skip("Core deps from source tests are not yet supported")


@nox.session(python=DEFAULT_PYTHON_VERSION)
@nox.session(python=ALL_PYTHON[-1])
def prerelease_deps(session):
"""Run all tests with prerelease versions of dependencies installed."""
# TODO(https://github.com/googleapis/google-cloud-python/issues/16014):
# Add prerelease deps tests
session.skip("prerelease deps tests are not yet supported")
unit_prerelease(session)
system_prerelease(session)


@nox.session(python=DEFAULT_PYTHON_VERSION)
# NOTE: this is the mypy session that came directly from the bigframes split repo
@nox.session(python="3.10")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

Hardcoding python="3.10" for the mypy session is less flexible than using a version constant like DEFAULT_PYTHON_VERSION or ALL_PYTHON[-1], which are used elsewhere in this file. Unless there is a specific requirement to run type checks only on Python 3.10, consider using the project's default Python version for consistency and easier maintenance.

Suggested change
@nox.session(python="3.10")
@nox.session(python=DEFAULT_PYTHON_VERSION)

def mypy(session):
"""Run the type checker."""
# TODO(https://github.com/googleapis/google-cloud-python/issues/16014):
# Add mypy tests previously used mypy session (below) failed to run in the monorepo
session.skip("mypy tests are not yet supported")


# @nox.session(python=ALL_PYTHON)
# def mypy(session):
# """Run type checks with mypy."""
# # Editable mode is not compatible with mypy when there are multiple
# # package directories. See:
# # https://github.com/python/mypy/issues/10564#issuecomment-851687749
# session.install(".")

# # Just install the dependencies' type info directly, since "mypy --install-types"
# # might require an additional pass.
# deps = (
# set(
# [
# MYPY_VERSION,
# # TODO: update to latest pandas-stubs once we resolve bigframes issues.
# "pandas-stubs<=2.2.3.241126",
# "types-protobuf",
# "types-python-dateutil",
# "types-requests",
# "types-setuptools",
# "types-tabulate",
# "types-PyYAML",
# "polars",
# "anywidget",
# ]
# )
# | set(SYSTEM_TEST_STANDARD_DEPENDENCIES)
# | set(UNIT_TEST_STANDARD_DEPENDENCIES)
# )

# session.install(*deps)
# shutil.rmtree(".mypy_cache", ignore_errors=True)
# session.run(
# "mypy",
# "bigframes",
# os.path.join("tests", "system"),
# os.path.join("tests", "unit"),
# "--check-untyped-defs",
# "--explicit-package-bases",
# '--exclude="^third_party"',
# )
"""Run type checks with mypy."""
# Editable mode is not compatible with mypy when there are multiple
# package directories. See:
# https://github.com/python/mypy/issues/10564#issuecomment-851687749
session.install(".")

# Just install the dependencies' type info directly, since "mypy --install-types"
# might require an additional pass.
deps = (
set(
[
MYPY_VERSION,
# TODO: update to latest pandas-stubs once we resolve bigframes issues.
"pandas-stubs<=2.2.3.241126",
"types-protobuf",
"types-python-dateutil",
"types-requests",
"types-setuptools",
"types-tabulate",
"types-PyYAML",
"polars",
"anywidget",
]
)
| set(SYSTEM_TEST_STANDARD_DEPENDENCIES)
| set(UNIT_TEST_STANDARD_DEPENDENCIES)
)

session.install(*deps)
shutil.rmtree(".mypy_cache", ignore_errors=True)
session.run(
"mypy",
"bigframes",
os.path.join("tests", "system"),
os.path.join("tests", "unit"),
"--check-untyped-defs",
"--explicit-package-bases",
'--exclude="^third_party"',
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

high

The --exclude flag contains literal double quotes within the string ("^third_party"). Since session.run passes arguments directly to the executable without shell interpretation, these quotes will be treated as part of the regular expression, likely causing it to fail to match the intended third_party directory. It should be passed without the internal quotes.

Suggested change
'--exclude="^third_party"',
"--exclude=^third_party",

)
Loading