From a56256d714ab151e425ffdea9c5e2c1ad1e2e0bc Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 13 Apr 2026 21:09:10 +0000 Subject: [PATCH 1/2] feat(api): api update --- .stats.yml | 8 +- api.md | 6 - .../resources/simulations/__init__.py | 14 -- .../simulations/account_transfers.py | 196 ------------------ .../resources/simulations/simulations.py | 32 --- .../simulations/test_account_transfers.py | 100 --------- 6 files changed, 4 insertions(+), 352 deletions(-) delete mode 100644 src/increase/resources/simulations/account_transfers.py delete mode 100644 tests/api_resources/simulations/test_account_transfers.py diff --git a/.stats.yml b/.stats.yml index fcb6c732c..52a1884ef 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 241 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-ec147e2dbcccb835ada48a743903d43ab228330e476558ba74dc87f248345303.yml -openapi_spec_hash: 333fdaec2de515a123cc44401b432aa2 -config_hash: d48e9f65bcf642f92610034d6c43f07a +configured_endpoints: 240 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-c9957e6ab1c9adef0dfb9a3956c8e7505a1661d22e79531eaee71b2a3a699b61.yml +openapi_spec_hash: 1190741469af674747df81908239a601 +config_hash: 82cb0fb1fae47b3467cd6da4273541de diff --git a/api.md b/api.md index a3952130d..b0c199770 100644 --- a/api.md +++ b/api.md @@ -839,12 +839,6 @@ Methods: - client.simulations.interest_payments.create(\*\*params) -> Transaction -## AccountTransfers - -Methods: - -- client.simulations.account_transfers.complete(account_transfer_id) -> AccountTransfer - ## CardAuthorizations Types: diff --git a/src/increase/resources/simulations/__init__.py b/src/increase/resources/simulations/__init__.py index b3c198a7a..ab9d7577d 100644 --- a/src/increase/resources/simulations/__init__.py +++ b/src/increase/resources/simulations/__init__.py @@ -112,14 +112,6 @@ CardSettlementsResourceWithStreamingResponse, AsyncCardSettlementsResourceWithStreamingResponse, ) -from .account_transfers import ( - AccountTransfersResource, - AsyncAccountTransfersResource, - AccountTransfersResourceWithRawResponse, - AsyncAccountTransfersResourceWithRawResponse, - AccountTransfersResourceWithStreamingResponse, - AsyncAccountTransfersResourceWithStreamingResponse, -) from .interest_payments import ( InterestPaymentsResource, AsyncInterestPaymentsResource, @@ -280,12 +272,6 @@ "AsyncInterestPaymentsResourceWithRawResponse", "InterestPaymentsResourceWithStreamingResponse", "AsyncInterestPaymentsResourceWithStreamingResponse", - "AccountTransfersResource", - "AsyncAccountTransfersResource", - "AccountTransfersResourceWithRawResponse", - "AsyncAccountTransfersResourceWithRawResponse", - "AccountTransfersResourceWithStreamingResponse", - "AsyncAccountTransfersResourceWithStreamingResponse", "CardAuthorizationsResource", "AsyncCardAuthorizationsResource", "CardAuthorizationsResourceWithRawResponse", diff --git a/src/increase/resources/simulations/account_transfers.py b/src/increase/resources/simulations/account_transfers.py deleted file mode 100644 index 969c1b7ca..000000000 --- a/src/increase/resources/simulations/account_transfers.py +++ /dev/null @@ -1,196 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -import httpx - -from ..._types import Body, Query, Headers, NotGiven, not_given -from ..._utils import path_template -from ..._compat import cached_property -from ..._resource import SyncAPIResource, AsyncAPIResource -from ..._response import ( - to_raw_response_wrapper, - to_streamed_response_wrapper, - async_to_raw_response_wrapper, - async_to_streamed_response_wrapper, -) -from ..._base_client import make_request_options -from ...types.account_transfer import AccountTransfer - -__all__ = ["AccountTransfersResource", "AsyncAccountTransfersResource"] - - -class AccountTransfersResource(SyncAPIResource): - @cached_property - def with_raw_response(self) -> AccountTransfersResourceWithRawResponse: - """ - This property can be used as a prefix for any HTTP method call to return - the raw response object instead of the parsed content. - - For more information, see https://www.github.com/Increase/increase-python#accessing-raw-response-data-eg-headers - """ - return AccountTransfersResourceWithRawResponse(self) - - @cached_property - def with_streaming_response(self) -> AccountTransfersResourceWithStreamingResponse: - """ - An alternative to `.with_raw_response` that doesn't eagerly read the response body. - - For more information, see https://www.github.com/Increase/increase-python#with_streaming_response - """ - return AccountTransfersResourceWithStreamingResponse(self) - - def complete( - self, - account_transfer_id: str, - *, - # 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, - extra_query: Query | None = None, - extra_body: Body | None = None, - timeout: float | httpx.Timeout | None | NotGiven = not_given, - idempotency_key: str | None = None, - ) -> AccountTransfer: - """ - If your account is configured to require approval for each transfer, this - endpoint simulates the approval of an [Account Transfer](#account-transfers). - You can also approve sandbox Account Transfers in the dashboard. This transfer - must first have a `status` of `pending_approval`. - - Args: - account_transfer_id: The identifier of the Account Transfer you wish to complete. - - extra_headers: Send extra headers - - extra_query: Add additional query parameters to the request - - extra_body: Add additional JSON properties to the request - - timeout: Override the client-level default timeout for this request, in seconds - - idempotency_key: Specify a custom idempotency key for this request - """ - if not account_transfer_id: - raise ValueError( - f"Expected a non-empty value for `account_transfer_id` but received {account_transfer_id!r}" - ) - return self._post( - path_template( - "/simulations/account_transfers/{account_transfer_id}/complete", account_transfer_id=account_transfer_id - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - idempotency_key=idempotency_key, - ), - cast_to=AccountTransfer, - ) - - -class AsyncAccountTransfersResource(AsyncAPIResource): - @cached_property - def with_raw_response(self) -> AsyncAccountTransfersResourceWithRawResponse: - """ - This property can be used as a prefix for any HTTP method call to return - the raw response object instead of the parsed content. - - For more information, see https://www.github.com/Increase/increase-python#accessing-raw-response-data-eg-headers - """ - return AsyncAccountTransfersResourceWithRawResponse(self) - - @cached_property - def with_streaming_response(self) -> AsyncAccountTransfersResourceWithStreamingResponse: - """ - An alternative to `.with_raw_response` that doesn't eagerly read the response body. - - For more information, see https://www.github.com/Increase/increase-python#with_streaming_response - """ - return AsyncAccountTransfersResourceWithStreamingResponse(self) - - async def complete( - self, - account_transfer_id: str, - *, - # 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, - extra_query: Query | None = None, - extra_body: Body | None = None, - timeout: float | httpx.Timeout | None | NotGiven = not_given, - idempotency_key: str | None = None, - ) -> AccountTransfer: - """ - If your account is configured to require approval for each transfer, this - endpoint simulates the approval of an [Account Transfer](#account-transfers). - You can also approve sandbox Account Transfers in the dashboard. This transfer - must first have a `status` of `pending_approval`. - - Args: - account_transfer_id: The identifier of the Account Transfer you wish to complete. - - extra_headers: Send extra headers - - extra_query: Add additional query parameters to the request - - extra_body: Add additional JSON properties to the request - - timeout: Override the client-level default timeout for this request, in seconds - - idempotency_key: Specify a custom idempotency key for this request - """ - if not account_transfer_id: - raise ValueError( - f"Expected a non-empty value for `account_transfer_id` but received {account_transfer_id!r}" - ) - return await self._post( - path_template( - "/simulations/account_transfers/{account_transfer_id}/complete", account_transfer_id=account_transfer_id - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - idempotency_key=idempotency_key, - ), - cast_to=AccountTransfer, - ) - - -class AccountTransfersResourceWithRawResponse: - def __init__(self, account_transfers: AccountTransfersResource) -> None: - self._account_transfers = account_transfers - - self.complete = to_raw_response_wrapper( - account_transfers.complete, - ) - - -class AsyncAccountTransfersResourceWithRawResponse: - def __init__(self, account_transfers: AsyncAccountTransfersResource) -> None: - self._account_transfers = account_transfers - - self.complete = async_to_raw_response_wrapper( - account_transfers.complete, - ) - - -class AccountTransfersResourceWithStreamingResponse: - def __init__(self, account_transfers: AccountTransfersResource) -> None: - self._account_transfers = account_transfers - - self.complete = to_streamed_response_wrapper( - account_transfers.complete, - ) - - -class AsyncAccountTransfersResourceWithStreamingResponse: - def __init__(self, account_transfers: AsyncAccountTransfersResource) -> None: - self._account_transfers = account_transfers - - self.complete = async_to_streamed_response_wrapper( - account_transfers.complete, - ) diff --git a/src/increase/resources/simulations/simulations.py b/src/increase/resources/simulations/simulations.py index 3051441c6..b93fcb053 100644 --- a/src/increase/resources/simulations/simulations.py +++ b/src/increase/resources/simulations/simulations.py @@ -108,14 +108,6 @@ CardSettlementsResourceWithStreamingResponse, AsyncCardSettlementsResourceWithStreamingResponse, ) -from .account_transfers import ( - AccountTransfersResource, - AsyncAccountTransfersResource, - AccountTransfersResourceWithRawResponse, - AsyncAccountTransfersResourceWithRawResponse, - AccountTransfersResourceWithStreamingResponse, - AsyncAccountTransfersResourceWithStreamingResponse, -) from .interest_payments import ( InterestPaymentsResource, AsyncInterestPaymentsResource, @@ -277,10 +269,6 @@ class SimulationsResource(SyncAPIResource): def interest_payments(self) -> InterestPaymentsResource: return InterestPaymentsResource(self._client) - @cached_property - def account_transfers(self) -> AccountTransfersResource: - return AccountTransfersResource(self._client) - @cached_property def card_authorizations(self) -> CardAuthorizationsResource: return CardAuthorizationsResource(self._client) @@ -430,10 +418,6 @@ class AsyncSimulationsResource(AsyncAPIResource): def interest_payments(self) -> AsyncInterestPaymentsResource: return AsyncInterestPaymentsResource(self._client) - @cached_property - def account_transfers(self) -> AsyncAccountTransfersResource: - return AsyncAccountTransfersResource(self._client) - @cached_property def card_authorizations(self) -> AsyncCardAuthorizationsResource: return AsyncCardAuthorizationsResource(self._client) @@ -586,10 +570,6 @@ def __init__(self, simulations: SimulationsResource) -> None: def interest_payments(self) -> InterestPaymentsResourceWithRawResponse: return InterestPaymentsResourceWithRawResponse(self._simulations.interest_payments) - @cached_property - def account_transfers(self) -> AccountTransfersResourceWithRawResponse: - return AccountTransfersResourceWithRawResponse(self._simulations.account_transfers) - @cached_property def card_authorizations(self) -> CardAuthorizationsResourceWithRawResponse: return CardAuthorizationsResourceWithRawResponse(self._simulations.card_authorizations) @@ -725,10 +705,6 @@ def __init__(self, simulations: AsyncSimulationsResource) -> None: def interest_payments(self) -> AsyncInterestPaymentsResourceWithRawResponse: return AsyncInterestPaymentsResourceWithRawResponse(self._simulations.interest_payments) - @cached_property - def account_transfers(self) -> AsyncAccountTransfersResourceWithRawResponse: - return AsyncAccountTransfersResourceWithRawResponse(self._simulations.account_transfers) - @cached_property def card_authorizations(self) -> AsyncCardAuthorizationsResourceWithRawResponse: return AsyncCardAuthorizationsResourceWithRawResponse(self._simulations.card_authorizations) @@ -866,10 +842,6 @@ def __init__(self, simulations: SimulationsResource) -> None: def interest_payments(self) -> InterestPaymentsResourceWithStreamingResponse: return InterestPaymentsResourceWithStreamingResponse(self._simulations.interest_payments) - @cached_property - def account_transfers(self) -> AccountTransfersResourceWithStreamingResponse: - return AccountTransfersResourceWithStreamingResponse(self._simulations.account_transfers) - @cached_property def card_authorizations(self) -> CardAuthorizationsResourceWithStreamingResponse: return CardAuthorizationsResourceWithStreamingResponse(self._simulations.card_authorizations) @@ -1009,10 +981,6 @@ def __init__(self, simulations: AsyncSimulationsResource) -> None: def interest_payments(self) -> AsyncInterestPaymentsResourceWithStreamingResponse: return AsyncInterestPaymentsResourceWithStreamingResponse(self._simulations.interest_payments) - @cached_property - def account_transfers(self) -> AsyncAccountTransfersResourceWithStreamingResponse: - return AsyncAccountTransfersResourceWithStreamingResponse(self._simulations.account_transfers) - @cached_property def card_authorizations(self) -> AsyncCardAuthorizationsResourceWithStreamingResponse: return AsyncCardAuthorizationsResourceWithStreamingResponse(self._simulations.card_authorizations) diff --git a/tests/api_resources/simulations/test_account_transfers.py b/tests/api_resources/simulations/test_account_transfers.py deleted file mode 100644 index b9ef8d0ed..000000000 --- a/tests/api_resources/simulations/test_account_transfers.py +++ /dev/null @@ -1,100 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -import os -from typing import Any, cast - -import pytest - -from increase import Increase, AsyncIncrease -from tests.utils import assert_matches_type -from increase.types import AccountTransfer - -base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010") - - -class TestAccountTransfers: - parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"]) - - @parametrize - def test_method_complete(self, client: Increase) -> None: - account_transfer = client.simulations.account_transfers.complete( - "account_transfer_7k9qe1ysdgqztnt63l7n", - ) - assert_matches_type(AccountTransfer, account_transfer, path=["response"]) - - @parametrize - def test_raw_response_complete(self, client: Increase) -> None: - response = client.simulations.account_transfers.with_raw_response.complete( - "account_transfer_7k9qe1ysdgqztnt63l7n", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - account_transfer = response.parse() - assert_matches_type(AccountTransfer, account_transfer, path=["response"]) - - @parametrize - def test_streaming_response_complete(self, client: Increase) -> None: - with client.simulations.account_transfers.with_streaming_response.complete( - "account_transfer_7k9qe1ysdgqztnt63l7n", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - account_transfer = response.parse() - assert_matches_type(AccountTransfer, account_transfer, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @parametrize - def test_path_params_complete(self, client: Increase) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_transfer_id` but received ''"): - client.simulations.account_transfers.with_raw_response.complete( - "", - ) - - -class TestAsyncAccountTransfers: - parametrize = pytest.mark.parametrize( - "async_client", [False, True, {"http_client": "aiohttp"}], indirect=True, ids=["loose", "strict", "aiohttp"] - ) - - @parametrize - async def test_method_complete(self, async_client: AsyncIncrease) -> None: - account_transfer = await async_client.simulations.account_transfers.complete( - "account_transfer_7k9qe1ysdgqztnt63l7n", - ) - assert_matches_type(AccountTransfer, account_transfer, path=["response"]) - - @parametrize - async def test_raw_response_complete(self, async_client: AsyncIncrease) -> None: - response = await async_client.simulations.account_transfers.with_raw_response.complete( - "account_transfer_7k9qe1ysdgqztnt63l7n", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - account_transfer = await response.parse() - assert_matches_type(AccountTransfer, account_transfer, path=["response"]) - - @parametrize - async def test_streaming_response_complete(self, async_client: AsyncIncrease) -> None: - async with async_client.simulations.account_transfers.with_streaming_response.complete( - "account_transfer_7k9qe1ysdgqztnt63l7n", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - account_transfer = await response.parse() - assert_matches_type(AccountTransfer, account_transfer, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @parametrize - async def test_path_params_complete(self, async_client: AsyncIncrease) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_transfer_id` but received ''"): - await async_client.simulations.account_transfers.with_raw_response.complete( - "", - ) From ab22d06ea1c593f8372868a03c4a4455bfc0cb29 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 13 Apr 2026 21:09:34 +0000 Subject: [PATCH 2/2] release: 0.483.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 8 ++++++++ pyproject.toml | 2 +- src/increase/_version.py | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index e95d42dcd..b8dfd0496 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.482.0" + ".": "0.483.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index ac794c173..b2d4fab31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.483.0 (2026-04-13) + +Full Changelog: [v0.482.0...v0.483.0](https://github.com/Increase/increase-python/compare/v0.482.0...v0.483.0) + +### Features + +* **api:** api update ([a56256d](https://github.com/Increase/increase-python/commit/a56256d714ab151e425ffdea9c5e2c1ad1e2e0bc)) + ## 0.482.0 (2026-04-13) Full Changelog: [v0.481.0...v0.482.0](https://github.com/Increase/increase-python/compare/v0.481.0...v0.482.0) diff --git a/pyproject.toml b/pyproject.toml index 7144eedec..a5455f935 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "increase" -version = "0.482.0" +version = "0.483.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 e458f740b..8f167744e 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.482.0" # x-release-please-version +__version__ = "0.483.0" # x-release-please-version