From 59f6d448bf3dc1e8a1f6fa3a9a22e4f03932be95 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Jun 2026 20:05:39 +0000 Subject: [PATCH 1/4] Bump the actions group with 4 updates Bumps the actions group with 4 updates: [actions/checkout](https://github.com/actions/checkout), [actions/setup-python](https://github.com/actions/setup-python), [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact). Updates `actions/checkout` from 4 to 6 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v6) Updates `actions/setup-python` from 5 to 6 - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v5...v6) Updates `actions/upload-artifact` from 4 to 7 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4...v7) Updates `actions/download-artifact` from 4 to 8 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v4...v8) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: actions/setup-python dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: actions/upload-artifact dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: actions/download-artifact dependency-version: '8' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions ... Signed-off-by: dependabot[bot] --- .github/workflows/ci.yml | 4 ++-- .github/workflows/release.yml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index edba817..938d6f5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,8 +17,8 @@ jobs: matrix: python: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 with: python-version: ${{ matrix.python }} cache: pip diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 616c04e..8286531 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,13 +11,13 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 with: python-version: "3.14" - run: python -m pip install --upgrade pip build - run: python -m build - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 with: name: dist path: dist/ @@ -29,7 +29,7 @@ jobs: permissions: id-token: write # required for Trusted Publishing steps: - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v8 with: name: dist path: dist/ From 1dde52a23eebd6eb1eacc00b5ca20c00c55244e5 Mon Sep 17 00:00:00 2001 From: Grady Dillon Date: Tue, 9 Jun 2026 16:49:51 -0400 Subject: [PATCH 2/4] Removed unused import (._base.default_headers) --- wellmarked/async_client.py | 1 - 1 file changed, 1 deletion(-) diff --git a/wellmarked/async_client.py b/wellmarked/async_client.py index 0320a66..fafe6c3 100644 --- a/wellmarked/async_client.py +++ b/wellmarked/async_client.py @@ -10,7 +10,6 @@ from ._base import ( DEFAULT_BASE_URL, DEFAULT_TIMEOUT, - default_headers, merge_headers, parse_response, resolve_api_key, From 5931eea243b9d0d4ed5318ebaa5d895c6db6cc06 Mon Sep 17 00:00:00 2001 From: Grady Dillon Date: Tue, 9 Jun 2026 16:51:16 -0400 Subject: [PATCH 3/4] Removed unused import (._base.default_headers) --- wellmarked/client.py | 1 - 1 file changed, 1 deletion(-) diff --git a/wellmarked/client.py b/wellmarked/client.py index 2e4fbf0..ef1bb10 100644 --- a/wellmarked/client.py +++ b/wellmarked/client.py @@ -9,7 +9,6 @@ from ._base import ( DEFAULT_BASE_URL, DEFAULT_TIMEOUT, - default_headers, merge_headers, parse_response, resolve_api_key, From b9ef316a6a4fe86d6f9f5cd3acc1f85f8e3b7b1b Mon Sep 17 00:00:00 2001 From: Grady Dillon Date: Tue, 9 Jun 2026 16:57:25 -0400 Subject: [PATCH 4/4] Added return type annotations to client functions --- wellmarked/async_client.py | 9 +++++---- wellmarked/client.py | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/wellmarked/async_client.py b/wellmarked/async_client.py index fafe6c3..bc0e6dd 100644 --- a/wellmarked/async_client.py +++ b/wellmarked/async_client.py @@ -3,7 +3,7 @@ import asyncio import time -from typing import Iterable, Optional, Union +from typing import Iterable, Optional, Union, Any import httpx @@ -191,7 +191,7 @@ async def rotate_webhook_secret(self) -> RotatedWebhookSecret: # ── Transport ───────────────────────────────────────────────────────────── - async def _request(self, method: str, path: str, *, json: object = None): + async def _request(self, method: str, path: str, *, json: object = None) -> Any: # See WellMarked._request for why we build absolute URLs ourselves. url = f"{self._base_url}{path}" try: @@ -200,8 +200,9 @@ async def _request(self, method: str, path: str, *, json: object = None): raise wrap_transport_error(exc) from exc try: - body = response.json() if response.content else None - except ValueError: + assert response.content + body = response.json() + except (AssertionError, ValueError): body = None # httpx Headers is dict-like for our purposes; pass it through so diff --git a/wellmarked/client.py b/wellmarked/client.py index ef1bb10..b91d793 100644 --- a/wellmarked/client.py +++ b/wellmarked/client.py @@ -2,7 +2,7 @@ from __future__ import annotations import time -from typing import Iterable, Optional, Union +from typing import Iterable, Optional, Union, Any import httpx @@ -325,7 +325,7 @@ def rotate_webhook_secret(self) -> RotatedWebhookSecret: # ── Transport ───────────────────────────────────────────────────────────── - def _request(self, method: str, path: str, *, json: object = None): + def _request(self, method: str, path: str, *, json: object = None) -> Any: # Build absolute URLs ourselves rather than relying on httpx's base_url # join. That way a user-supplied http_client without a base_url still # works — important when the caller wants a custom transport/proxy. @@ -336,8 +336,9 @@ def _request(self, method: str, path: str, *, json: object = None): raise wrap_transport_error(exc) from exc try: - body = response.json() if response.content else None - except ValueError: + assert response.content + body = response.json() + except (AssertionError, ValueError): body = None # httpx Headers is dict-like for our purposes; pass it through so