Skip to content

Commit 1fdbdbe

Browse files
Merge branch 'main' into feat/table-constraints-property-setter
2 parents 42a80cd + fb7de39 commit 1fdbdbe

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+569
-389
lines changed

.coveragerc

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@ omit =
99
google/cloud/bigquery_v2/* # Legacy proto-based types.
1010
exclude_lines =
1111
# Re-enable the standard pragma
12-
pragma: NO COVER
12+
pragma: (no cover|NO COVER)
1313
# Ignore debug-only repr
1414
def __repr__

.github/.OwlBot.lock.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@
1313
# limitations under the License.
1414
docker:
1515
image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest
16-
digest: sha256:04c35dc5f49f0f503a306397d6d043685f8d2bb822ab515818c4208d7fb2db3a
17-
# created: 2025-01-16T15:24:11.364245182Z
16+
digest: sha256:f016446d6e520e5fb552c45b110cba3f217bffdd3d06bdddd076e9e6d13266cf
17+
# created: 2025-02-21T19:32:52.01306189Z

.kokoro/build.sh

+14-6
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,13 @@
1515

1616
set -eo pipefail
1717

18+
CURRENT_DIR=$(dirname "${BASH_SOURCE[0]}")
19+
1820
if [[ -z "${PROJECT_ROOT:-}" ]]; then
19-
PROJECT_ROOT="github/python-bigquery"
21+
PROJECT_ROOT=$(realpath "${CURRENT_DIR}/..")
2022
fi
2123

22-
cd "${PROJECT_ROOT}"
24+
pushd "${PROJECT_ROOT}"
2325

2426
# Disable buffering, so that the logs stream through.
2527
export PYTHONUNBUFFERED=1
@@ -28,10 +30,16 @@ export PYTHONUNBUFFERED=1
2830
env | grep KOKORO
2931

3032
# Setup service account credentials.
31-
export GOOGLE_APPLICATION_CREDENTIALS=${KOKORO_GFILE_DIR}/service-account.json
33+
if [[ -f "${KOKORO_GFILE_DIR}/service-account.json" ]]
34+
then
35+
export GOOGLE_APPLICATION_CREDENTIALS=${KOKORO_GFILE_DIR}/service-account.json
36+
fi
3237

3338
# Setup project id.
34-
export PROJECT_ID=$(cat "${KOKORO_GFILE_DIR}/project-id.json")
39+
if [[ -f "${KOKORO_GFILE_DIR}/project-id.json" ]]
40+
then
41+
export PROJECT_ID=$(cat "${KOKORO_GFILE_DIR}/project-id.json")
42+
fi
3543

3644
# If this is a continuous build, send the test log to the FlakyBot.
3745
# See https://github.com/googleapis/repo-automation-bots/tree/main/packages/flakybot.
@@ -46,7 +54,7 @@ fi
4654
# If NOX_SESSION is set, it only runs the specified session,
4755
# otherwise run all the sessions.
4856
if [[ -n "${NOX_SESSION:-}" ]]; then
49-
python3 -m nox -s ${NOX_SESSION:-}
57+
python3 -m nox -s ${NOX_SESSION:-}
5058
else
51-
python3 -m nox
59+
python3 -m nox
5260
fi

.kokoro/presubmit/snippets-3.8.cfg renamed to .kokoro/presubmit/snippets-3.9.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
# Only run this nox session.
44
env_vars: {
55
key: "NOX_SESSION"
6-
value: "snippets-3.8"
6+
value: "snippets-3.9"
77
}

.kokoro/presubmit/system-3.8.cfg renamed to .kokoro/presubmit/system-3.9.cfg

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
# Only run this nox session.
44
env_vars: {
55
key: "NOX_SESSION"
6-
value: "system-3.8"
7-
}
6+
value: "system-3.9"
7+
}

.kokoro/samples/python3.7/common.cfg

-40
This file was deleted.

.kokoro/samples/python3.7/continuous.cfg

-6
This file was deleted.

.kokoro/samples/python3.7/periodic-head.cfg

-11
This file was deleted.

.kokoro/samples/python3.7/periodic.cfg

-6
This file was deleted.

.kokoro/samples/python3.7/presubmit.cfg

-6
This file was deleted.

.kokoro/samples/python3.8/common.cfg

-40
This file was deleted.

.kokoro/samples/python3.8/continuous.cfg

-6
This file was deleted.

.kokoro/samples/python3.8/periodic-head.cfg

-11
This file was deleted.

.kokoro/samples/python3.8/periodic.cfg

-6
This file was deleted.

.kokoro/samples/python3.8/presubmit.cfg

-6
This file was deleted.

.kokoro/test-samples-impl.sh

+1-2
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ export PYTHONUNBUFFERED=1
3333
env | grep KOKORO
3434

3535
# Install nox
36-
# `virtualenv==20.26.6` is added for Python 3.7 compatibility
37-
python3.9 -m pip install --upgrade --quiet nox virtualenv==20.26.6
36+
python3.9 -m pip install --upgrade --quiet nox virtualenv
3837

3938
# Use secrets acessor service account to get secrets
4039
if [[ -f "${KOKORO_GFILE_DIR}/secrets_viewer_service_account.json" ]]; then

CHANGELOG.md

+26
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,32 @@
55
[1]: https://pypi.org/project/google-cloud-bigquery/#history
66

77

8+
## [3.30.0](https://github.com/googleapis/python-bigquery/compare/v3.29.0...v3.30.0) (2025-02-26)
9+
10+
11+
### Features
12+
13+
* Add roundingmode enum, wiring, and tests ([#2121](https://github.com/googleapis/python-bigquery/issues/2121)) ([3a48948](https://github.com/googleapis/python-bigquery/commit/3a4894827f6e73a4a88cb22933c2004697dabcc7))
14+
* Adds foreign_type_info attribute to table class and adds unit tests. ([#2126](https://github.com/googleapis/python-bigquery/issues/2126)) ([2c19681](https://github.com/googleapis/python-bigquery/commit/2c1968115bef8e1dc84e0125615f551b9b011a4b))
15+
* Support resource_tags for table ([#2093](https://github.com/googleapis/python-bigquery/issues/2093)) ([d4070ca](https://github.com/googleapis/python-bigquery/commit/d4070ca21b5797e900a9e87b966837ee1c278217))
16+
17+
18+
### Bug Fixes
19+
20+
* Avoid blocking in download thread when using BQ Storage API ([#2034](https://github.com/googleapis/python-bigquery/issues/2034)) ([54c8d07](https://github.com/googleapis/python-bigquery/commit/54c8d07f06a8ae460c9e0fb1614e1fbc21efb5df))
21+
* Retry 404 errors in `Client.query(...)` ([#2135](https://github.com/googleapis/python-bigquery/issues/2135)) ([c6d5f8a](https://github.com/googleapis/python-bigquery/commit/c6d5f8aaec21ab8f17436407aded4bc2316323fd))
22+
23+
24+
### Dependencies
25+
26+
* Updates required checks list in github ([#2136](https://github.com/googleapis/python-bigquery/issues/2136)) ([fea49ff](https://github.com/googleapis/python-bigquery/commit/fea49ffbf8aa1d53451864ceb7fd73189b6661cb))
27+
* Use pandas-gbq to determine schema in `load_table_from_dataframe` ([#2095](https://github.com/googleapis/python-bigquery/issues/2095)) ([7603bd7](https://github.com/googleapis/python-bigquery/commit/7603bd71d60592ef2a551d9eea09987b218edc73))
28+
29+
30+
### Documentation
31+
32+
* Update magics.rst ([#2125](https://github.com/googleapis/python-bigquery/issues/2125)) ([b5bcfb3](https://github.com/googleapis/python-bigquery/commit/b5bcfb303d27015b747a3b0747ecd7f7ed0ed557))
33+
834
## [3.29.0](https://github.com/googleapis/python-bigquery/compare/v3.28.0...v3.29.0) (2025-01-21)
935

1036

CONTRIBUTING.rst

+5-10
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ In order to add a feature:
2222
documentation.
2323

2424
- The feature must work fully on the following CPython versions:
25-
3.7, 3.8, 3.9, 3.10, 3.11, 3.12 and 3.13 on both UNIX and Windows.
25+
3.9, 3.10, 3.11, 3.12 and 3.13 on both UNIX and Windows.
2626

2727
- The feature must not add unnecessary dependencies (where
2828
"unnecessary" is of course subjective, but new dependencies should
@@ -143,13 +143,12 @@ Running System Tests
143143
$ nox -s system
144144

145145
# Run a single system test
146-
$ nox -s system-3.8 -- -k <name of test>
146+
$ nox -s system-3.9 -- -k <name of test>
147147

148148

149149
.. note::
150150

151-
System tests are only configured to run under Python 3.8.
152-
For expediency, we do not run them in older versions of Python 3.
151+
System tests are configured to run under Python 3.9, 3.11, 3.12.
153152

154153
This alone will not run the tests. You'll need to change some local
155154
auth settings and change some configuration in your project to
@@ -195,11 +194,11 @@ configure them just like the System Tests.
195194

196195
# Run all tests in a folder
197196
$ cd samples/snippets
198-
$ nox -s py-3.8
197+
$ nox -s py-3.9
199198

200199
# Run a single sample test
201200
$ cd samples/snippets
202-
$ nox -s py-3.8 -- -k <name of test>
201+
$ nox -s py-3.9 -- -k <name of test>
203202

204203
********************************************
205204
Note About ``README`` as it pertains to PyPI
@@ -221,16 +220,12 @@ Supported Python Versions
221220

222221
We support:
223222

224-
- `Python 3.7`_
225-
- `Python 3.8`_
226223
- `Python 3.9`_
227224
- `Python 3.10`_
228225
- `Python 3.11`_
229226
- `Python 3.12`_
230227
- `Python 3.13`_
231228

232-
.. _Python 3.7: https://docs.python.org/3.7/
233-
.. _Python 3.8: https://docs.python.org/3.8/
234229
.. _Python 3.9: https://docs.python.org/3.9/
235230
.. _Python 3.10: https://docs.python.org/3.10/
236231
.. _Python 3.11: https://docs.python.org/3.11/

README.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,11 @@ dependencies.
5252

5353
Supported Python Versions
5454
^^^^^^^^^^^^^^^^^^^^^^^^^
55-
Python >= 3.7
55+
Python >= 3.9
5656

5757
Unsupported Python Versions
5858
^^^^^^^^^^^^^^^^^^^^^^^^^^^
59-
Python == 2.7, Python == 3.5, Python == 3.6.
59+
Python == 2.7, Python == 3.5, Python == 3.6, Python == 3.7, and Python == 3.8.
6060

6161
The last version of this library compatible with Python 2.7 and 3.5 is
6262
`google-cloud-bigquery==1.28.0`.

google/cloud/bigquery/__init__.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -126,12 +126,12 @@
126126

127127
if sys_major == 3 and sys_minor in (7, 8):
128128
warnings.warn(
129-
"The python-bigquery library will stop supporting Python 3.7 "
130-
"and Python 3.8 in a future major release expected in Q4 2024. "
129+
"The python-bigquery library no longer supports Python 3.7 "
130+
"and Python 3.8. "
131131
f"Your Python version is {sys_major}.{sys_minor}.{sys_micro}. We "
132132
"recommend that you update soon to ensure ongoing support. For "
133133
"more details, see: [Google Cloud Client Libraries Supported Python Versions policy](https://cloud.google.com/python/docs/supported-python-versions)",
134-
PendingDeprecationWarning,
134+
FutureWarning,
135135
)
136136

137137
__all__ = [

0 commit comments

Comments
 (0)