From aa0f9c198b9df52fca6a1716c56f000ea672282f Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 26 Mar 2025 16:38:50 +0000 Subject: [PATCH 1/4] chore: fix typos (#1053) --- src/increase/_models.py | 2 +- src/increase/_utils/_transform.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/increase/_models.py b/src/increase/_models.py index b51a1bf5f..349357169 100644 --- a/src/increase/_models.py +++ b/src/increase/_models.py @@ -681,7 +681,7 @@ def set_pydantic_config(typ: Any, config: pydantic.ConfigDict) -> None: setattr(typ, "__pydantic_config__", config) # noqa: B010 -# our use of subclasssing here causes weirdness for type checkers, +# our use of subclassing here causes weirdness for type checkers, # so we just pretend that we don't subclass if TYPE_CHECKING: GenericModel = BaseModel diff --git a/src/increase/_utils/_transform.py b/src/increase/_utils/_transform.py index 18afd9d8b..7ac2e17fb 100644 --- a/src/increase/_utils/_transform.py +++ b/src/increase/_utils/_transform.py @@ -126,7 +126,7 @@ def _get_annotated_type(type_: type) -> type | None: def _maybe_transform_key(key: str, type_: type) -> str: """Transform the given `data` based on the annotations provided in `type_`. - Note: this function only looks at `Annotated` types that contain `PropertInfo` metadata. + Note: this function only looks at `Annotated` types that contain `PropertyInfo` metadata. """ annotated_type = _get_annotated_type(type_) if annotated_type is None: From bab7a6182bf16ed88e9d48704813e47598d74dc1 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 26 Mar 2025 17:35:17 +0000 Subject: [PATCH 2/4] codegen metadata --- .stats.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.stats.yml b/.stats.yml index 38744156e..e0388f0ee 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,2 +1,4 @@ configured_endpoints: 199 openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-37dc1802736b75bd7602c7be0989e9bbfcd9d2d93b1a3491011ce86cb150cc5a.yml +openapi_spec_hash: 39f7d9e9e5ea008daa92dca19fb9ed28 +config_hash: 20a463ecd33bd32b7b9bc6f4990907ac From 5a5a72a2c6685f43b846538bdb95ea9b5ba38f34 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 26 Mar 2025 19:17:11 +0000 Subject: [PATCH 3/4] feat(api): api update (#1055) --- .stats.yml | 4 +-- src/increase/resources/ach_transfers.py | 4 +++ .../resources/real_time_payments_transfers.py | 4 +++ .../types/ach_transfer_list_params.py | 33 +++++++++++++++++-- ...real_time_payments_transfer_list_params.py | 32 ++++++++++++++++-- tests/api_resources/test_ach_transfers.py | 2 ++ .../test_real_time_payments_transfers.py | 2 ++ 7 files changed, 73 insertions(+), 8 deletions(-) diff --git a/.stats.yml b/.stats.yml index e0388f0ee..43f60f9cc 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 199 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-37dc1802736b75bd7602c7be0989e9bbfcd9d2d93b1a3491011ce86cb150cc5a.yml -openapi_spec_hash: 39f7d9e9e5ea008daa92dca19fb9ed28 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-33b4fdf3af0d0c7816a818cea776370220613e9ea8812a8339e6203d0f4b23e6.yml +openapi_spec_hash: 242db9c21568746bbbbdf9cf090db82e config_hash: 20a463ecd33bd32b7b9bc6f4990907ac diff --git a/src/increase/resources/ach_transfers.py b/src/increase/resources/ach_transfers.py index 671cc110f..4e8b65f13 100644 --- a/src/increase/resources/ach_transfers.py +++ b/src/increase/resources/ach_transfers.py @@ -250,6 +250,7 @@ def list( external_account_id: str | NotGiven = NOT_GIVEN, idempotency_key: str | NotGiven = NOT_GIVEN, limit: int | NotGiven = NOT_GIVEN, + status: ach_transfer_list_params.Status | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -299,6 +300,7 @@ def list( "external_account_id": external_account_id, "idempotency_key": idempotency_key, "limit": limit, + "status": status, }, ach_transfer_list_params.ACHTransferListParams, ), @@ -614,6 +616,7 @@ def list( external_account_id: str | NotGiven = NOT_GIVEN, idempotency_key: str | NotGiven = NOT_GIVEN, limit: int | NotGiven = NOT_GIVEN, + status: ach_transfer_list_params.Status | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -663,6 +666,7 @@ def list( "external_account_id": external_account_id, "idempotency_key": idempotency_key, "limit": limit, + "status": status, }, ach_transfer_list_params.ACHTransferListParams, ), diff --git a/src/increase/resources/real_time_payments_transfers.py b/src/increase/resources/real_time_payments_transfers.py index 0a2b701ce..58c8ee1a5 100644 --- a/src/increase/resources/real_time_payments_transfers.py +++ b/src/increase/resources/real_time_payments_transfers.py @@ -184,6 +184,7 @@ def list( external_account_id: str | NotGiven = NOT_GIVEN, idempotency_key: str | NotGiven = NOT_GIVEN, limit: int | NotGiven = NOT_GIVEN, + status: real_time_payments_transfer_list_params.Status | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -234,6 +235,7 @@ def list( "external_account_id": external_account_id, "idempotency_key": idempotency_key, "limit": limit, + "status": status, }, real_time_payments_transfer_list_params.RealTimePaymentsTransferListParams, ), @@ -401,6 +403,7 @@ def list( external_account_id: str | NotGiven = NOT_GIVEN, idempotency_key: str | NotGiven = NOT_GIVEN, limit: int | NotGiven = NOT_GIVEN, + status: real_time_payments_transfer_list_params.Status | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -451,6 +454,7 @@ def list( "external_account_id": external_account_id, "idempotency_key": idempotency_key, "limit": limit, + "status": status, }, real_time_payments_transfer_list_params.RealTimePaymentsTransferListParams, ), diff --git a/src/increase/types/ach_transfer_list_params.py b/src/increase/types/ach_transfer_list_params.py index f9d5b4c7f..49d621b90 100644 --- a/src/increase/types/ach_transfer_list_params.py +++ b/src/increase/types/ach_transfer_list_params.py @@ -2,13 +2,13 @@ from __future__ import annotations -from typing import Union +from typing import List, Union from datetime import datetime -from typing_extensions import Annotated, TypedDict +from typing_extensions import Literal, Annotated, TypedDict from .._utils import PropertyInfo -__all__ = ["ACHTransferListParams", "CreatedAt"] +__all__ = ["ACHTransferListParams", "CreatedAt", "Status"] class ACHTransferListParams(TypedDict, total=False): @@ -37,6 +37,8 @@ class ACHTransferListParams(TypedDict, total=False): The default (and maximum) is 100 objects. """ + status: Status + class CreatedAt(TypedDict, total=False): after: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")] @@ -62,3 +64,28 @@ class CreatedAt(TypedDict, total=False): Return results on or before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp. """ + + +_StatusReservedKeywords = TypedDict( + "_StatusReservedKeywords", + { + "in": List[ + Literal[ + "pending_approval", + "pending_transfer_session_confirmation", + "canceled", + "pending_submission", + "pending_reviewing", + "requires_attention", + "rejected", + "submitted", + "returned", + ] + ], + }, + total=False, +) + + +class Status(_StatusReservedKeywords, total=False): + pass diff --git a/src/increase/types/real_time_payments_transfer_list_params.py b/src/increase/types/real_time_payments_transfer_list_params.py index 086a5444f..c3f46e2e1 100644 --- a/src/increase/types/real_time_payments_transfer_list_params.py +++ b/src/increase/types/real_time_payments_transfer_list_params.py @@ -2,13 +2,13 @@ from __future__ import annotations -from typing import Union +from typing import List, Union from datetime import datetime -from typing_extensions import Annotated, TypedDict +from typing_extensions import Literal, Annotated, TypedDict from .._utils import PropertyInfo -__all__ = ["RealTimePaymentsTransferListParams", "CreatedAt"] +__all__ = ["RealTimePaymentsTransferListParams", "CreatedAt", "Status"] class RealTimePaymentsTransferListParams(TypedDict, total=False): @@ -42,6 +42,8 @@ class RealTimePaymentsTransferListParams(TypedDict, total=False): The default (and maximum) is 100 objects. """ + status: Status + class CreatedAt(TypedDict, total=False): after: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")] @@ -67,3 +69,27 @@ class CreatedAt(TypedDict, total=False): Return results on or before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp. """ + + +_StatusReservedKeywords = TypedDict( + "_StatusReservedKeywords", + { + "in": List[ + Literal[ + "pending_approval", + "canceled", + "pending_reviewing", + "requires_attention", + "rejected", + "pending_submission", + "submitted", + "complete", + ] + ], + }, + total=False, +) + + +class Status(_StatusReservedKeywords, total=False): + pass diff --git a/tests/api_resources/test_ach_transfers.py b/tests/api_resources/test_ach_transfers.py index 3d01225ac..71022037d 100644 --- a/tests/api_resources/test_ach_transfers.py +++ b/tests/api_resources/test_ach_transfers.py @@ -152,6 +152,7 @@ def test_method_list_with_all_params(self, client: Increase) -> None: external_account_id="external_account_id", idempotency_key="x", limit=1, + status={"in": ["pending_approval"]}, ) assert_matches_type(SyncPage[ACHTransfer], ach_transfer, path=["response"]) @@ -388,6 +389,7 @@ async def test_method_list_with_all_params(self, async_client: AsyncIncrease) -> external_account_id="external_account_id", idempotency_key="x", limit=1, + status={"in": ["pending_approval"]}, ) assert_matches_type(AsyncPage[ACHTransfer], ach_transfer, path=["response"]) diff --git a/tests/api_resources/test_real_time_payments_transfers.py b/tests/api_resources/test_real_time_payments_transfers.py index 8e90ed78e..68f5f75b7 100644 --- a/tests/api_resources/test_real_time_payments_transfers.py +++ b/tests/api_resources/test_real_time_payments_transfers.py @@ -137,6 +137,7 @@ def test_method_list_with_all_params(self, client: Increase) -> None: external_account_id="external_account_id", idempotency_key="x", limit=1, + status={"in": ["pending_approval"]}, ) assert_matches_type(SyncPage[RealTimePaymentsTransfer], real_time_payments_transfer, path=["response"]) @@ -280,6 +281,7 @@ async def test_method_list_with_all_params(self, async_client: AsyncIncrease) -> external_account_id="external_account_id", idempotency_key="x", limit=1, + status={"in": ["pending_approval"]}, ) assert_matches_type(AsyncPage[RealTimePaymentsTransfer], real_time_payments_transfer, path=["response"]) From 34250e721f03dc64c242e135ea932712ec2f7520 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 26 Mar 2025 19:17:40 +0000 Subject: [PATCH 4/4] release: 0.213.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 13 +++++++++++++ pyproject.toml | 2 +- src/increase/_version.py | 2 +- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 27a3cb4d9..7ad6591ce 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.212.0" + ".": "0.213.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index b4d3aa503..a7daeb8ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## 0.213.0 (2025-03-26) + +Full Changelog: [v0.212.0...v0.213.0](https://github.com/Increase/increase-python/compare/v0.212.0...v0.213.0) + +### Features + +* **api:** api update ([#1055](https://github.com/Increase/increase-python/issues/1055)) ([5a5a72a](https://github.com/Increase/increase-python/commit/5a5a72a2c6685f43b846538bdb95ea9b5ba38f34)) + + +### Chores + +* fix typos ([#1053](https://github.com/Increase/increase-python/issues/1053)) ([aa0f9c1](https://github.com/Increase/increase-python/commit/aa0f9c198b9df52fca6a1716c56f000ea672282f)) + ## 0.212.0 (2025-03-22) Full Changelog: [v0.211.0...v0.212.0](https://github.com/Increase/increase-python/compare/v0.211.0...v0.212.0) diff --git a/pyproject.toml b/pyproject.toml index 16424c3ff..75966fb1d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "increase" -version = "0.212.0" +version = "0.213.0" description = "The official Python library for the increase API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/increase/_version.py b/src/increase/_version.py index 3c3f5e7f5..8baa7ef41 100644 --- a/src/increase/_version.py +++ b/src/increase/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "increase" -__version__ = "0.212.0" # x-release-please-version +__version__ = "0.213.0" # x-release-please-version