Skip to content

Adding basic Bigtable client.#1148

Merged
dhermes merged 1 commit intogoogleapis:masterfrom
dhermes:bigtable-client
Sep 24, 2015
Merged

Adding basic Bigtable client.#1148
dhermes merged 1 commit intogoogleapis:masterfrom
dhermes:bigtable-client

Conversation

@dhermes
Copy link
Contributor

@dhermes dhermes commented Sep 21, 2015

FYI @tseaver I am essentially done with the package in https://github.com/dhermes/gcloud-python-bigtable so will now be porting over the code in (hopefully) easy to review chunks.

I'd really like to get this all in by the end of September (end of the quarter).

/cc @jgeewax


NOTE: I am holding off on bringing in documentation until there is working code in here.

@dhermes dhermes added the api: bigtable Issues related to the Bigtable API. label Sep 21, 2015
@googlebot googlebot added the cla: yes This human has signed the Contributor License Agreement. label Sep 21, 2015

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

@dhermes
Copy link
Contributor Author

dhermes commented Sep 23, 2015

@tseaver PTAL. I plan on squashing into a single commit before merging, but just added a new commit for now so you could see the diff.

Two concerns:

  • By adding :inherited-members: to the autodoc for the base client, we end up getting the factories in both the doc for Client and JSONClient. But this was the only was to liberate them from the non-public mixin
  • There is some repeated behavior since I do the credentials = get_credentials() check in the Bigtable Client constructor. If you've got ideas on how to avoid doing this twice, I'd love to DR(myself)

@dhermes
Copy link
Contributor Author

dhermes commented Sep 23, 2015

Also, I'll be teaching until 2pm Pacific tomorrow, then commuting home, but then free for the rest of the week. I'd really like to increase the velocity of these reviews so we can get the Bigtable stuff in by EOQ (it may end up being impossible, but I'd like to at least give it a chance). I've been the bottleneck on the velocity so far (ADDED: and hopefully won't be starting tomorrow afternoon).

gcloud/client.py Outdated

This comment was marked as spam.

@tseaver
Copy link
Contributor

tseaver commented Sep 23, 2015

LGTM, modulo the note about the out-of-date docstring for gcloud.client.Client.

To do this, had to de-couple some of the existing client behavior from
convenience methods since we don't need to use the _connection_class
in Bigtable. In particular, we want both the service account
factories for the client and the implicit project behavior.
@dhermes
Copy link
Contributor Author

dhermes commented Sep 24, 2015

@tseaver I ripped out the comment and squashed the commits into a single one.

Merging now. LMK if there are issues and we can roll back.

dhermes added a commit that referenced this pull request Sep 24, 2015
@dhermes dhermes merged commit 7235ab7 into googleapis:master Sep 24, 2015
@dhermes dhermes deleted the bigtable-client branch September 24, 2015 01:39
parthea pushed a commit that referenced this pull request Nov 22, 2025
…ration (#1177)

* chore: Removed old admin_v2 GAPIC layer (#1111)

* feat!: Generated Selective GAPIC layer for Admin API (#1112)

* chore: Updated service YAML by making all methods in BigtableInstanceAdmin public (#1113)

* refactor: Refactored classic client to use new Admin API (#1114)

* refactor: Refactored classic client to use new Admin API

* added newline after gapic_version files

* fix: Made generate_consistency_token and check_consistency public (#1116)

methods

* feat: Consistency polling + restore table for sync client in admin (#1117)

* feat: Prototyped handwritten layer

* Added newlines

* linting

* Added docstrings for restore table and consistency token polling;
removed gc_rule

* docs: owlbot related changes (#1133)

* docs: owlbot related changes

* Addressed PR feedback + made changes to toc.yml for docs pipeline

* Fixed type hint

* linting + added validation for admin section

* linting + added noqas to owlbot lines

* tests: Tests for sync client + fixes + client library versioning (#1132)

* tests: Tests for sync client + fixes + client library versioning

* Removed raise exception

* linting + name changes in tests + added test for timeout

* linting

* Fixed tests on Python 3.7

* feat: Proto-plus modifications for enforcing strict oneofs (#1126)

* feat: Proto-plus modifications for enforcing strict oneofs

* Added template directory + changed unit tests to pytest

* Finished README

* linting

* Added source of truth comment

* feat: Reworked the wait_for_consistency call (#1144)

* feat: Reworked the wait_for_consistency call

* linting

* Update google/cloud/bigtable/admin_v2/overlay/services/bigtable_table_admin/client.py

Co-authored-by: Mattie Fu <[email protected]>

* Improved documentation

* linting again

* linting

---------

Co-authored-by: Mattie Fu <[email protected]>

* feat: Async consistency polling harness (#1142)

* feat: Async consistency polling harness

* Fixed AsyncMock issue in Python 3.7

* Reworked async_consistency and added async client to __init__.py

* linting

* addressed review feedback

* linting

* feat: Restore Table LRO rework + async restore table (#1148)

* chore(tests): system tests for autogen API (#1151)

* tests: system tests for autogen API

* Fixed async system tests

* addressed review feedback

* Fixed system test failure at the end of a test run

* Linting

* more linting

* chore: Moved Admin API from google.cloud.bigtable.admin_v2 back to google.cloud.bigtable_admin_v2 (#1153)

* chore: Removed autogenerated files from the feature branch (#1170)

* chore: Merged selective GAPIC autogenerated changes into feature branch (#1175)

* chore: Merged selective GAPIC owlbot changes into feature branch

* linting

* changed comment text

* Removed redundant items

* Fixed owlbot infinitely appending text

* Added comments + fixed indentation in Owlbot

* Added anonymous credentials to client tests

* Fixed project ID issue in system tests

* Fixed docstrings and skipped system tests on emulator.

---------

Co-authored-by: Mattie Fu <[email protected]>
parthea pushed a commit that referenced this pull request Nov 26, 2025
* chore(main): release 2.12.0
parthea pushed a commit that referenced this pull request Feb 20, 2026
parthea pushed a commit that referenced this pull request Feb 20, 2026
PR created by the Librarian CLI to initialize a release. Merging this PR
will auto trigger a release.

Librarian Version: v1.0.1
Language Image:
us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:b8058df4c45e9a6e07f6b4d65b458d0d059241dd34c814f151c8bf6b89211209
<details><summary>google-cloud-firestore: 2.23.0</summary>

##
[2.23.0](googleapis/python-firestore@v2.22.0...v2.23.0)
(2026-01-14)

### Features

* pipelines preview (#1156)
([9462d106](googleapis/python-firestore@9462d106))

### Bug Fixes

* stream generator type (#1148)
([165d367c](googleapis/python-firestore@165d367c))

</details>
parthea added a commit that referenced this pull request Feb 25, 2026
PR created by the Librarian CLI to generate Cloud Client Libraries code
from protos.

BEGIN_COMMIT

BEGIN_NESTED_COMMIT
feat: Update Compute Engine v1 API to revision 20260106 (#1148)


PiperOrigin-RevId: 
Library-IDs: google-cloud-compute
Source-link:
[googleapis/googleapis@d1e59aa2](googleapis/googleapis@d1e59aa2)
END_NESTED_COMMIT

END_COMMIT

This pull request is generated with proto changes between

[googleapis/googleapis@cfe62b3c](googleapis/googleapis@cfe62b3)
(exclusive) and

[googleapis/googleapis@d1e59aa2](googleapis/googleapis@d1e59aa)
(inclusive).

Librarian Version: v0.7.0
Language Image:
us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:160860d189ff1c2f7515638478823712fa5b243e27ccc33a2728669fa1e2ed0c
ohmayr pushed a commit that referenced this pull request Feb 26, 2026
PR created by the Librarian CLI to initialize a release. Merging this PR
will auto trigger a release.

Librarian Version: v0.0.0-20260216162532-e323d455c92b
Language Image:
us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:160860d189ff1c2f7515638478823712fa5b243e27ccc33a2728669fa1e2ed0c
<details><summary>google-ads-datamanager: v0.5.0</summary>

##
[v0.5.0](google-ads-datamanager-v0.4.0...google-ads-datamanager-v0.5.0)
(2026-02-26)

### Features

* add `UserListDirectLicenseService` for creating and managing direct
user list licenses (PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

* add `PpidData` to `AudienceMember` to support Publisher Provided ID
(PPID) in audience member ingestion (PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

* add `RemovePpidDataStatus` to `RemoveAudienceMembersStatus` to report
the status of PPID data removal (PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

* add `AgeRange` and `Gender` enums to support demographic breakdown in
marketing insights (PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

* add `RemoveUserIdDataStatus` to `RemoveAudienceMembersStatus` to
report the status of user ID data removal (PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

* add `UserList` resource (PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

* add `GOOGLE_AD_MANAGER_AUDIENCE_LINK` to the `AccountType` enum
(PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

* add `PartnerLinkService` for creating and managing links between
advertiser and data partner accounts (PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

* add `PartnerLink` resource (PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

* add `UserListGlobalLicenseCustomerInfo` resource (PiperOrigin-RevId:
873059573)
([e40bfd4](e40bfd4d))

* add `UserIdData` to `AudienceMember` to support User ID in audience
member ingestion (PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

* add `MarketingDataInsightsService` for retrieving marketing data
insights for a given user list (PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

* add new `ErrorReason` values for licensing, user list operations, and
permission checks (PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

* add `UserListGlobalLicense` resource (PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

* add `UserListDirectLicense` resource (PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

* add `UserListGlobalLicenseService` for creating and managing global
user list licenses (PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

* add `IngestUserIdDataStatus` to `IngestAudienceMembersStatus` to
report the status of user ID data ingestion (PiperOrigin-RevId:
873059573)
([e40bfd4](e40bfd4d))

* add `UserListService` for creating and managing user lists
(PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

* add `IngestPpidDataStatus` to `IngestAudienceMembersStatus` to report
the status of PPID data ingestion (PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

### Bug Fixes

* changed `conversion_value` field to be optional in message `Event`
(PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

### Documentation

* a comment for field `pair_data` in message `AudienceMember` is changed
to clarify it is only available to data partners (PiperOrigin-RevId:
873059573)
([e40bfd4](e40bfd4d))

* a comment for enum `ErrorReason` is changed to clarify that it is
subject to future additions (PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

* add comments to resources and methods to clarify which are available
only to data partners (PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

* a comment for message `PairData` is changed to clarify it is only
available to data partners (PiperOrigin-RevId: 873059573)
([e40bfd4](e40bfd4d))

</details>


<details><summary>google-auth-oauthlib: v1.3.0</summary>

##
[v1.3.0](google-auth-oauthlib-v1.2.4...google-auth-oauthlib-v1.3.0)
(2026-02-26)

### Features

* Log the flow.run_local_server redirect URL (#362)
([84599aa](84599aa0))

### Bug Fixes

* Raise meaningful exception when oauth callback times out (#363)
([adc3ee6](adc3ee60))

</details>


<details><summary>google-cloud-ces: v0.1.0</summary>

##
[v0.1.0](google-cloud-ces-v0.0.0...google-cloud-ces-v0.1.0)
(2026-02-26)

### Features

* onboard a new library (PiperOrigin-RevId: 868719126)
([2b38797](2b387976))

* onboard a new library (PiperOrigin-RevId: 874689837)
([e46a4d8](e46a4d8b))

</details>


<details><summary>google-cloud-compute: v1.44.0</summary>

##
[v1.44.0](google-cloud-compute-v1.43.0...google-cloud-compute-v1.44.0)
(2026-02-26)

### Features

* Update Compute Engine v1 API to revision 20260106 (#1148)
([d1ce4d3](d1ce4d35))

</details>


<details><summary>google-cloud-compute-v1beta: v0.7.0</summary>

##
[v0.7.0](google-cloud-compute-v1beta-v0.6.0...google-cloud-compute-v1beta-v0.7.0)
(2026-02-26)

### Features

* Update Compute Engine v1beta API to revision 20260206
(googleapis/googleapis#1159)
([0900626](09006260))

* Update Compute Engine v1beta API to revision 20260106 (#1147)
([0900626](09006260))

</details>


<details><summary>google-cloud-databasecenter: v0.6.0</summary>

##
[v0.6.0](google-cloud-databasecenter-v0.5.0...google-cloud-databasecenter-v0.6.0)
(2026-02-26)

### Documentation

* Replace &amp;#34;GCP&amp;#34; with &amp;#34;Google Cloud&amp;#34; in
API comments (PiperOrigin-RevId: 871778449)
([e40bfd4](e40bfd4d))

* Remove single quotes from DatabaseCenter summary. (PiperOrigin-RevId:
871778449)
([e40bfd4](e40bfd4d))

</details>


<details><summary>google-cloud-developerconnect: v0.4.0</summary>

##
[v0.4.0](google-cloud-developerconnect-v0.3.0...google-cloud-developerconnect-v0.4.0)
(2026-02-26)

### Features

* Add OAuth flow RPCs (StartOAuth, FinishOAuth) (PiperOrigin-RevId:
872542190)
([e40bfd4](e40bfd4d))

* A new field `organization` is added to message
`google.cloud.developerconnect.v1.GitHubEnterpriseConfig`
(PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* A new message
`google.cloud.developerconnect.v1.insights.ListDeploymentEventsRequest`
is added (PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* A new field `http_config` is added to message
`google.cloud.developerconnect.v1.Connection` (PiperOrigin-RevId:
872542190)
([e40bfd4](e40bfd4d))

* A new message
`google.cloud.developerconnect.v1.insights.ListDeploymentEventsResponse`
is added (PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* A new message `google.cloud.developerconnect.v1.FinishOAuthRequest` is
added (PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* A new field `projects` is added to message
`google.cloud.developerconnect.v1.insights.InsightsConfig`
(PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* A new message
`google.cloud.developerconnect.v1.SecureSourceManagerInstanceConfig` is
added (PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* A new message `google.cloud.developerconnect.v1.FinishOAuthResponse`
is added (PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* A new field `google_cloud_run` is added to message
`google.cloud.developerconnect.v1.insights.RuntimeConfig`
(PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* A new message `google.cloud.developerconnect.v1.StartOAuthRequest` is
added (PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* Add Cloud Run and App Hub Service runtimes to InsightsConfig
(PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* A new field `app_hub_service` is added to message
`google.cloud.developerconnect.v1.insights.RuntimeConfig`
(PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* A new message
`google.cloud.developerconnect.v1.insights.GetDeploymentEventRequest` is
added (PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* A new message
`google.cloud.developerconnect.v1.insights.AppHubService` is added
(PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* A new message `google.cloud.developerconnect.v1.StartOAuthResponse` is
added (PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* A new enum value `GEMINI_CODE_ASSIST` is added to enum
`google.cloud.developerconnect.v1.GitHubConfig.GitHubApp`
(PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* Add Gemini Code Assist GitHub App type (PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* A new message `google.cloud.developerconnect.v1.insights.Projects` is
added (PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* Add HTTP Proxy base URI field (PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* A new field `secure_source_manager_instance_config` is added to
message `google.cloud.developerconnect.v1.Connection`
(PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* Add Secure Source Manager and Generic HTTP Endpoint connection types
(PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* A new message
`google.cloud.developerconnect.v1.insights.ArtifactDeployment` is added
(PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* A new message
`google.cloud.developerconnect.v1.insights.GoogleCloudRun` is added
(PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* Add Deployment Events to Insights API (GetDeploymentEvent,
ListDeploymentEvents) (PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* A new message
`google.cloud.developerconnect.v1.GenericHTTPEndpointConfig` is added
(PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* Add Projects field to InsightsConfig for project tracking
(PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* A new message
`google.cloud.developerconnect.v1.insights.DeploymentEvent` is added
(PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* A new field `http_proxy_base_uri` is added to message
`google.cloud.developerconnect.v1.HTTPProxyConfig` (PiperOrigin-RevId:
872542190)
([e40bfd4](e40bfd4d))

### Documentation

* Updated description for
`google.cloud.location.Locations.ListLocations` in YAML
(PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* Corrected typos in comments for
`google.cloud.developerconnect.v1.insights.InsightsConfig` and
`google.cloud.developerconnect.v1.insights.ArtifactConfig`
(PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

* Updated comment for `CreateGitRepositoryLink` RPC in
`google.cloud.developerconnect.v1.DeveloperConnect` (PiperOrigin-RevId:
872542190)
([e40bfd4](e40bfd4d))

* Updated comments to include regional secret patterns for SecretManager
fields in `GitHubConfig`, `OAuthCredential`, `UserCredential`,
`GitLabConfig`, `GitLabEnterpriseConfig`, `BitbucketDataCenterConfig`,
and `BitbucketCloudConfig` (PiperOrigin-RevId: 872542190)
([e40bfd4](e40bfd4d))

</details>


<details><summary>google-cloud-speech: v2.37.0</summary>

##
[v2.37.0](google-cloud-speech-v2.36.1...google-cloud-speech-v2.37.0)
(2026-02-26)

### Features

* adds endpointing sensitivity to streaming recognition features
(PiperOrigin-RevId: 871987204)
([e40bfd4](e40bfd4d))

</details>


<details><summary>google-cloud-workloadmanager: v0.1.0</summary>

##
[v0.1.0](google-cloud-workloadmanager-v0.0.0...google-cloud-workloadmanager-v0.1.0)
(2026-02-26)

### Features

* onboard a new library (PiperOrigin-RevId: 869327994)
([7161480](71614806))

</details>
parthea pushed a commit that referenced this pull request Mar 2, 2026
…ration (#1177)

* chore: Removed old admin_v2 GAPIC layer (#1111)

* feat!: Generated Selective GAPIC layer for Admin API (#1112)

* chore: Updated service YAML by making all methods in BigtableInstanceAdmin public (#1113)

* refactor: Refactored classic client to use new Admin API (#1114)

* refactor: Refactored classic client to use new Admin API

* added newline after gapic_version files

* fix: Made generate_consistency_token and check_consistency public (#1116)

methods

* feat: Consistency polling + restore table for sync client in admin (#1117)

* feat: Prototyped handwritten layer

* Added newlines

* linting

* Added docstrings for restore table and consistency token polling;
removed gc_rule

* docs: owlbot related changes (#1133)

* docs: owlbot related changes

* Addressed PR feedback + made changes to toc.yml for docs pipeline

* Fixed type hint

* linting + added validation for admin section

* linting + added noqas to owlbot lines

* tests: Tests for sync client + fixes + client library versioning (#1132)

* tests: Tests for sync client + fixes + client library versioning

* Removed raise exception

* linting + name changes in tests + added test for timeout

* linting

* Fixed tests on Python 3.7

* feat: Proto-plus modifications for enforcing strict oneofs (#1126)

* feat: Proto-plus modifications for enforcing strict oneofs

* Added template directory + changed unit tests to pytest

* Finished README

* linting

* Added source of truth comment

* feat: Reworked the wait_for_consistency call (#1144)

* feat: Reworked the wait_for_consistency call

* linting

* Update google/cloud/bigtable/admin_v2/overlay/services/bigtable_table_admin/client.py

Co-authored-by: Mattie Fu <[email protected]>

* Improved documentation

* linting again

* linting

---------

Co-authored-by: Mattie Fu <[email protected]>

* feat: Async consistency polling harness (#1142)

* feat: Async consistency polling harness

* Fixed AsyncMock issue in Python 3.7

* Reworked async_consistency and added async client to __init__.py

* linting

* addressed review feedback

* linting

* feat: Restore Table LRO rework + async restore table (#1148)

* chore(tests): system tests for autogen API (#1151)

* tests: system tests for autogen API

* Fixed async system tests

* addressed review feedback

* Fixed system test failure at the end of a test run

* Linting

* more linting

* chore: Moved Admin API from google.cloud.bigtable.admin_v2 back to google.cloud.bigtable_admin_v2 (#1153)

* chore: Removed autogenerated files from the feature branch (#1170)

* chore: Merged selective GAPIC autogenerated changes into feature branch (#1175)

* chore: Merged selective GAPIC owlbot changes into feature branch

* linting

* changed comment text

* Removed redundant items

* Fixed owlbot infinitely appending text

* Added comments + fixed indentation in Owlbot

* Added anonymous credentials to client tests

* Fixed project ID issue in system tests

* Fixed docstrings and skipped system tests on emulator.

---------

Co-authored-by: Mattie Fu <[email protected]>
ohmayr pushed a commit that referenced this pull request Mar 25, 2026
Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.4.0 to 2.12.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jpadilla/pyjwt/releases">pyjwt's
releases</a>.</em></p>
<blockquote>
<h2>2.12.0</h2>
<h2>Security</h2>
<ul>
<li>Validate the crit (Critical) Header Parameter defined in RFC 7515
§4.1.11. by <a
href="https://github.com/dmbs335"><code>@​dmbs335</code></a> in <a
href="https://github.com/jpadilla/pyjwt/security/advisories/GHSA-752w-5fwx-jx9f">GHSA-752w-5fwx-jx9f</a></li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1132">jpadilla/pyjwt#1132</a></li>
<li>chore(docs): fix docs build by <a
href="https://github.com/tamird"><code>@​tamird</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1137">jpadilla/pyjwt#1137</a></li>
<li>Annotate PyJWKSet.keys for pyright by <a
href="https://github.com/tamird"><code>@​tamird</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1134">jpadilla/pyjwt#1134</a></li>
<li>fix: close HTTPError to prevent ResourceWarning on Python 3.14 by <a
href="https://github.com/veeceey"><code>@​veeceey</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1133">jpadilla/pyjwt#1133</a></li>
<li>chore: remove superfluous constants by <a
href="https://github.com/tamird"><code>@​tamird</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1136">jpadilla/pyjwt#1136</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1135">jpadilla/pyjwt#1135</a></li>
<li>chore(tests): enable mypy by <a
href="https://github.com/tamird"><code>@​tamird</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1138">jpadilla/pyjwt#1138</a></li>
<li>Bump actions/download-artifact from 7 to 8 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1142">jpadilla/pyjwt#1142</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1141">jpadilla/pyjwt#1141</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1145">jpadilla/pyjwt#1145</a></li>
<li>fix: do not store reference to algorithms dict on PyJWK by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1143">jpadilla/pyjwt#1143</a></li>
<li>Use PyJWK algorithm when encoding without explicit algorithm by <a
href="https://github.com/jpadilla"><code>@​jpadilla</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1148">jpadilla/pyjwt#1148</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/tamird"><code>@​tamird</code></a> made
their first contribution in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1137">jpadilla/pyjwt#1137</a></li>
<li><a href="https://github.com/veeceey"><code>@​veeceey</code></a> made
their first contribution in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1133">jpadilla/pyjwt#1133</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jpadilla/pyjwt/compare/2.11.0...2.12.0">https://github.com/jpadilla/pyjwt/compare/2.11.0...2.12.0</a></p>
<h2>2.11.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Fixed type error in comment by <a
href="https://github.com/shuhaib-aot"><code>@​shuhaib-aot</code></a> in
<a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1026">jpadilla/pyjwt#1026</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1018">jpadilla/pyjwt#1018</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1033">jpadilla/pyjwt#1033</a></li>
<li>Make note of use of leeway with nbf by <a
href="https://github.com/djw8605"><code>@​djw8605</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1034">jpadilla/pyjwt#1034</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1035">jpadilla/pyjwt#1035</a></li>
<li>Fixes <a
href="https://redirect.github.com/jpadilla/pyjwt/issues/964">#964</a>:
Validate key against allowed types for Algorithm family by <a
href="https://github.com/pachewise"><code>@​pachewise</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/985">jpadilla/pyjwt#985</a></li>
<li>Feat <a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1024">#1024</a>:
Add iterator for PyJWKSet by <a
href="https://github.com/pachewise"><code>@​pachewise</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1041">jpadilla/pyjwt#1041</a></li>
<li>Fixes <a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1039">#1039</a>:
Add iss, issuer type checks by <a
href="https://github.com/pachewise"><code>@​pachewise</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1040">jpadilla/pyjwt#1040</a></li>
<li>Fixes <a
href="https://redirect.github.com/jpadilla/pyjwt/issues/660">#660</a>:
Improve typing/logic for <code>options</code> in decode,
decode_complete; Improve docs by <a
href="https://github.com/pachewise"><code>@​pachewise</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1045">jpadilla/pyjwt#1045</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1042">jpadilla/pyjwt#1042</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1052">jpadilla/pyjwt#1052</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1053">jpadilla/pyjwt#1053</a></li>
<li>Fix <a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1022">#1022</a>:
Map <code>algorithm=None</code> to &quot;none&quot; by <a
href="https://github.com/qqii"><code>@​qqii</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1056">jpadilla/pyjwt#1056</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1055">jpadilla/pyjwt#1055</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1058">jpadilla/pyjwt#1058</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1060">jpadilla/pyjwt#1060</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1061">jpadilla/pyjwt#1061</a></li>
<li>Fixes <a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1047">#1047</a>:
Correct <code>PyJWKClient.get_signing_key_from_jwt</code> annotation by
<a href="https://github.com/khvn26"><code>@​khvn26</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1048">jpadilla/pyjwt#1048</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1062">jpadilla/pyjwt#1062</a></li>
<li>Fixed doc string typo in _validate_jti() function <a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1063">#1063</a>
by <a
href="https://github.com/kuldeepkhatke"><code>@​kuldeepkhatke</code></a>
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1064">jpadilla/pyjwt#1064</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1065">jpadilla/pyjwt#1065</a></li>
<li>Update SECURITY.md by <a
href="https://github.com/auvipy"><code>@​auvipy</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1057">jpadilla/pyjwt#1057</a></li>
<li>Typing fix: use <code>float</code> instead of <code>int</code> for
<code>lifespan</code> and <code>timeout</code> by <a
href="https://github.com/nikitagashkov"><code>@​nikitagashkov</code></a>
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1068">jpadilla/pyjwt#1068</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1067">jpadilla/pyjwt#1067</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst">pyjwt's
changelog</a>.</em></p>
<blockquote>
<h2><code>v2.12.0
&lt;https://github.com/jpadilla/pyjwt/compare/2.11.0...2.12.0&gt;</code>__</h2>
<p>Fixed</p>
<pre><code>
- Annotate PyJWKSet.keys for pyright by @tamird in
`[#1134](jpadilla/pyjwt#1134)
&lt;https://github.com/jpadilla/pyjwt/pull/1134&gt;`__
- Close ``HTTPError`` response to prevent ``ResourceWarning`` on Python
3.14 by @veeceey in
`[#1133](jpadilla/pyjwt#1133)
&lt;https://github.com/jpadilla/pyjwt/pull/1133&gt;`__
- Do not keep ``algorithms`` dict in PyJWK instances by @akx in
`[#1143](jpadilla/pyjwt#1143)
&lt;https://github.com/jpadilla/pyjwt/pull/1143&gt;`__
- Validate the crit (Critical) Header Parameter defined in RFC 7515
§4.1.11. by @dmbs335 in `GHSA-752w-5fwx-jx9f
&lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-752w-5fwx-jx9f&gt;`__
- Use PyJWK algorithm when encoding without explicit algorithm in
`[#1148](jpadilla/pyjwt#1148)
&lt;https://github.com/jpadilla/pyjwt/pull/1148&gt;`__
<p>Added
</code></pre></p>
<ul>
<li>Docs: Add <code>PyJWKClient</code> API reference and document the
two-tier caching system (JWK Set cache and signing key LRU cache).</li>
</ul>
<h2><code>v2.11.0
&lt;https://github.com/jpadilla/pyjwt/compare/2.10.1...2.11.0&gt;</code>__</h2>
<p>Fixed</p>
<pre><code>
- Enforce ECDSA curve validation per RFC 7518 Section 3.4.
- Fix build system warnings by @kurtmckee in
`[#1105](jpadilla/pyjwt#1105)
&lt;https://github.com/jpadilla/pyjwt/pull/1105&gt;`__
- Validate key against allowed types for Algorithm family in
`[#964](jpadilla/pyjwt#964)
&lt;https://github.com/jpadilla/pyjwt/pull/964&gt;`__
- Add iterator for JWKSet in
`[#1041](jpadilla/pyjwt#1041)
&lt;https://github.com/jpadilla/pyjwt/pull/1041&gt;`__
- Validate `iss` claim is a string during encoding and decoding by
@pachewise in `[#1040](jpadilla/pyjwt#1040)
&lt;https://github.com/jpadilla/pyjwt/pull/1040&gt;`__
- Improve typing/logic for `options` in decode, decode_complete by
@pachewise in `[#1045](jpadilla/pyjwt#1045)
&lt;https://github.com/jpadilla/pyjwt/pull/1045&gt;`__
- Declare float supported type for lifespan and timeout by
@nikitagashkov in
`[#1068](jpadilla/pyjwt#1068)
&lt;https://github.com/jpadilla/pyjwt/pull/1068&gt;`__
- Fix ``SyntaxWarning``\s/``DeprecationWarning``\s caused by invalid
escape sequences by @kurtmckee in
`[#1103](jpadilla/pyjwt#1103)
&lt;https://github.com/jpadilla/pyjwt/pull/1103&gt;`__
- Development: Build a shared wheel once to speed up test suite setup
times by @kurtmckee in
`[#1114](jpadilla/pyjwt#1114)
&lt;https://github.com/jpadilla/pyjwt/pull/1114&gt;`__
- Development: Test type annotations across all supported Python
versions,
increase the strictness of the type checking, and remove the mypy
pre-commit hook
by @kurtmckee in `[#1112](jpadilla/pyjwt#1112)
&lt;https://github.com/jpadilla/pyjwt/pull/1112&gt;`__
<p>Added
</code></pre></p>
<ul>
<li>Support Python 3.14, and test against PyPy 3.10 and 3.11 by <a
href="https://github.com/kurtmckee"><code>@​kurtmckee</code></a> in
<code>[#1104](jpadilla/pyjwt#1104)
&lt;https://github.com/jpadilla/pyjwt/pull/1104&gt;</code>__</li>
<li>Development: Migrate to <code>build</code> to test package building
in CI by <a
href="https://github.com/kurtmckee"><code>@​kurtmckee</code></a> in
<code>[#1108](jpadilla/pyjwt#1108)
&lt;https://github.com/jpadilla/pyjwt/pull/1108&gt;</code>__</li>
<li>Development: Improve coverage config and eliminate unused test suite
code by <a
href="https://github.com/kurtmckee"><code>@​kurtmckee</code></a> in
<code>[#1115](jpadilla/pyjwt#1115)
&lt;https://github.com/jpadilla/pyjwt/pull/1115&gt;</code>__</li>
<li>Docs: Standardize CHANGELOG links to PRs by <a
href="https://github.com/kurtmckee"><code>@​kurtmckee</code></a> in
<code>[#1110](jpadilla/pyjwt#1110)
&lt;https://github.com/jpadilla/pyjwt/pull/1110&gt;</code>__</li>
<li>Docs: Fix Read the Docs builds by <a
href="https://github.com/kurtmckee"><code>@​kurtmckee</code></a> in
<code>[#1111](jpadilla/pyjwt#1111)
&lt;https://github.com/jpadilla/pyjwt/pull/1111&gt;</code>__</li>
<li>Docs: Add example of using leeway with nbf by <a
href="https://github.com/djw8605"><code>@​djw8605</code></a> in
<code>[#1034](jpadilla/pyjwt#1034)
&lt;https://github.com/jpadilla/pyjwt/pull/1034&gt;</code>__</li>
<li>Docs: Refactored docs with <code>autodoc</code>; added
<code>PyJWS</code> and <code>jwt.algorithms</code> docs by <a
href="https://github.com/pachewise"><code>@​pachewise</code></a> in
<code>[#1045](jpadilla/pyjwt#1045)
&lt;https://github.com/jpadilla/pyjwt/pull/1045&gt;</code>__</li>
<li>Docs: Documentation improvements for &quot;sub&quot; and
&quot;jti&quot; claims by <a
href="https://github.com/cleder"><code>@​cleder</code></a> in
<code>[#1088](jpadilla/pyjwt#1088)
&lt;https://github.com/jpadilla/pyjwt/pull/1088&gt;</code>__</li>
<li>Development: Add pyupgrade as a pre-commit hook by <a
href="https://github.com/kurtmckee"><code>@​kurtmckee</code></a> in
<code>[#1109](jpadilla/pyjwt#1109)
&lt;https://github.com/jpadilla/pyjwt/pull/1109&gt;</code>__</li>
<li>Add minimum key length validation for HMAC and RSA keys (CWE-326).
Warns by default via <code>InsecureKeyLengthWarning</code> when keys are
below</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/bd9700cca7f9258fadcc429c1034e508025931f2"><code>bd9700c</code></a>
Use PyJWK algorithm when encoding without explicit algorithm (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1148">#1148</a>)</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/051ea341b5573fe3edcd53042f347929b92c2b92"><code>051ea34</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/1451d70eca2059bc472703692f0bb0777bc0fe93"><code>1451d70</code></a>
fix: do not store reference to algorithms dict on PyJWK (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1143">#1143</a>)</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/f3ba74c106df9ce10e272dfaad96acb4ab3ef5a5"><code>f3ba74c</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1145">#1145</a>)</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/0318ffa7b156b01600376e38952bf961382e0724"><code>0318ffa</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1141">#1141</a>)</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/a52753db3c1075ac01337fa8b7cc92b13a19ac09"><code>a52753d</code></a>
Bump actions/download-artifact from 7 to 8 (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1142">#1142</a>)</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/b85050f1d444c6828bb4618ee764443b0a3f5d18"><code>b85050f</code></a>
chore(tests): enable mypy (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1138">#1138</a>)</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/1272b264779717cc481c8341f321a7fc8b3aaba6"><code>1272b26</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1135">#1135</a>)</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/99a87287c26cb97c94399084ee4186ee52207a7f"><code>99a8728</code></a>
chore: remove superfluous constants (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1136">#1136</a>)</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/412cb67a93363812ae4029d6a95f5d4d40ab2609"><code>412cb67</code></a>
fix: close HTTPError to prevent ResourceWarning on Python 3.14 (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1133">#1133</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/jpadilla/pyjwt/compare/2.4.0...2.12.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyjwt&package-manager=pip&previous-version=2.4.0&new-version=2.12.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/googleapis/sphinx-docfx-yaml/network/alerts).

</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dan Lee <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: bigtable Issues related to the Bigtable API. cla: yes This human has signed the Contributor License Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants