From 426f82d16f4ad186563b4347c771a20c33fdaa02 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Wed, 27 May 2026 09:18:18 +0000 Subject: [PATCH 1/2] ## Python SDK Changes: * `gr4vy.transactions.capture()`: `request.cart_items` **Added** --- .speakeasy/gen.lock | 45 ++++++++++---------- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 12 +++--- RELEASES.md | 12 +++++- docs/models/transactioncapturecreate.md | 3 +- docs/sdks/transactions/README.md | 1 + pyproject.toml | 2 +- src/gr4vy/_version.py | 6 +-- src/gr4vy/models/transactioncapturecreate.py | 11 ++++- src/gr4vy/transactions.py | 14 ++++++ 10 files changed, 70 insertions(+), 38 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index ebfc53f1..a5cd90f9 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,24 +1,24 @@ lockVersion: 2.0.0 id: 833c6a67-4a4a-4ef1-ba24-165a29264e4a management: - docChecksum: 747d72a1f583f71b0c44d6847302df42 + docChecksum: 40aa39a2ef0c9fb33177ea164f1effac docVersion: 1.0.0 - speakeasyVersion: 1.766.0 - generationVersion: 2.887.0 - releaseVersion: 2.0.43 - configChecksum: 0e3c25f94076c51e8c49e4b1c5594807 + speakeasyVersion: 1.767.0 + generationVersion: 2.888.0 + releaseVersion: 2.0.44 + configChecksum: dc4459a31dc90593c6ff0a0db2cf42e2 repoURL: https://github.com/gr4vy/gr4vy-python.git installationURL: https://github.com/gr4vy/gr4vy-python.git published: true persistentEdits: - generation_id: 866747ef-4726-46ec-8bcc-24e282b74db6 - pristine_commit_hash: 80097642f37008fbb0f9a628d97eb3dbbc804f95 - pristine_tree_hash: 05a10d323ce8af5d4b4741793c9efd2abb745c18 + generation_id: fb88d19c-b5d7-4989-b72f-9d470d1ea774 + pristine_commit_hash: 083ca80fb846fe23ddaab606ccbf0fc380da2485 + pristine_tree_hash: cab3ae233c9fa7b068fba10a347a7c2c52a67b20 features: python: additionalDependencies: 1.0.0 constsAndDefaults: 1.0.7 - core: 6.0.22 + core: 6.0.23 defaultEnabledRetries: 0.2.0 enumUnions: 0.1.1 envVarSecurityUsage: 0.3.3 @@ -2192,8 +2192,8 @@ trackedFiles: pristine_git_object: 487f97f14ae5fda17a588a6faf7ca52d6a31a3c3 docs/models/transactioncapturecreate.md: id: ea1f508b22d1 - last_write_checksum: sha1:e7d7ccd258b1c8f888999d4bb0eb7f4274e0fb01 - pristine_git_object: 3ce9395068714fd740cb6d824c7262e700d58ece + last_write_checksum: sha1:d477f5e27fdb13d6f322f099f319bfd60cf10e06 + pristine_git_object: f471b5431e8bdf111558f7ea518b60621f626e86 docs/models/transactionconnectionoptions.md: id: 4c92c21f3107 last_write_checksum: sha1:0e8c7e0f583a8b506f34709a33128e7cfbe6c01e @@ -2576,8 +2576,8 @@ trackedFiles: pristine_git_object: b9aef138573acbb2f7108a60bf3ef48ed649e284 docs/sdks/transactions/README.md: id: 85592abe3c6b - last_write_checksum: sha1:08bbcd911a33a05a37ea65a743e753b1698a7a80 - pristine_git_object: ad5ada7045f1628926d91a4d7ce2e68a26d31cbd + last_write_checksum: sha1:78dc194699a671d7b49e40a7c649d424100edd07 + pristine_git_object: e8b15da68ffff05bb20481351051672fa2a407a9 docs/sdks/transactionsrefunds/README.md: id: c6a0400f5020 last_write_checksum: sha1:9f066fc497802c0814246b158c659f494f74b520 @@ -2600,8 +2600,8 @@ trackedFiles: pristine_git_object: cb9c15d314c1930557401074329ed7a737147919 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:cd9a79aad5484577b07bf973c52493a492001cc9 - pristine_git_object: aea8eb6563d82f01e8335df9655671c5564b06d9 + last_write_checksum: sha1:928f2711a920687d1da13e0609360028c5e685b6 + pristine_git_object: 170d3e73d396e9034d99c06430a5c46bcce631d8 scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:63a92abbd1de3323613f0d4c1ae4412076577710 @@ -2628,8 +2628,8 @@ trackedFiles: pristine_git_object: 83a0d00f9b5b1a6d837643a32bfd0f82cd4f98ce src/gr4vy/_version.py: id: 1b5ad1da47aa - last_write_checksum: sha1:5290fd605bb3bc4a2d12e1bfd930d6d4d8abe2e8 - pristine_git_object: 8136a7e3d03dc3e3a27d3980e884874efeb8b6ef + last_write_checksum: sha1:4b2456add684447e2d168852f4e951ea32e18130 + pristine_git_object: 4e5baf748b51407d39dac9c3b69e0588f6e6eb91 src/gr4vy/account_updater.py: id: 6dc8f39e2fb9 last_write_checksum: sha1:fabc79a59dd06fb927ce2d834fbafbcad5836a4b @@ -4308,8 +4308,8 @@ trackedFiles: pristine_git_object: f89093ebc037a9fb56f58993009bc9837ca95f98 src/gr4vy/models/transactioncapturecreate.py: id: 3cf410dfbb05 - last_write_checksum: sha1:ff93a06ce05c1a9b517d477674fae103a27896cb - pristine_git_object: a55a2395e9891bdc414bb7ec14f26ed582b0cb1a + last_write_checksum: sha1:8abfc4d14ac0bb75c7fc2b83b57fae6e5734759c + pristine_git_object: cf7a4cf013a888448fbcc09489ba8aa59dfc166b src/gr4vy/models/transactionconnectionoptions.py: id: e12dfa576d74 last_write_checksum: sha1:729caf1c945730899dba1146cd9ce97cd67d73c1 @@ -4568,8 +4568,8 @@ trackedFiles: pristine_git_object: a40897aec9ac2a8a3f3c79001fd85948074f1b9a src/gr4vy/transactions.py: id: 88da8fa0ed7f - last_write_checksum: sha1:93fab2b8a89ee86dd58b5f2c7ccbc47baacc5158 - pristine_git_object: 6e649aad4896c343b42c45f59cd3609e764ea74e + last_write_checksum: sha1:372e702b8464a83c1315b5306939dd9cd0a18743 + pristine_git_object: 180c93e663967410c381b591ba88e8c6388975ab src/gr4vy/transactions_refunds.py: id: ee2cc8522919 last_write_checksum: sha1:def55fada591e6bb143f17de91c2a9d81fa6e890 @@ -8525,8 +8525,7 @@ examplesVersion: 1.0.2 generatedTests: {} releaseNotes: | ## Python SDK Changes: - * `gr4vy.payment_service_definitions.list()`: `response.items[].fields[].verifiable` **Added** - * `gr4vy.payment_service_definitions.get()`: `response.fields[].verifiable` **Added** + * `gr4vy.transactions.capture()`: `request.cart_items` **Added** generatedFiles: - .gitattributes - .vscode/settings.json diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 8684ed30..8425f295 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -29,7 +29,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false python: - version: 2.0.43 + version: 2.0.44 additionalDependencies: dev: freezegun: ^1.5.1 diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 1e9b211a..e15bbdea 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,9 +1,9 @@ -speakeasyVersion: 1.766.0 +speakeasyVersion: 1.767.0 sources: openapi: sourceNamespace: openapi - sourceRevisionDigest: sha256:443ac79d4d903b089827eccf967225f7d870fbef0ca442cc198a90868b13bacb - sourceBlobDigest: sha256:c5a0cff69dd366bd1251fd7e3057d250ba8d9fad186e0c17053609d4fa970828 + sourceRevisionDigest: sha256:e35b6d52d30df5f6dd94845c8b081f628ebf8dd826ebd090720c8e820aef89c5 + sourceBlobDigest: sha256:9918085964b5cff8b60ccf0dece90c8eda1eb85831e32b6dbc1800d7da8b29ff tags: - latest - 1.0.0 @@ -11,10 +11,10 @@ targets: python: source: openapi sourceNamespace: openapi - sourceRevisionDigest: sha256:443ac79d4d903b089827eccf967225f7d870fbef0ca442cc198a90868b13bacb - sourceBlobDigest: sha256:c5a0cff69dd366bd1251fd7e3057d250ba8d9fad186e0c17053609d4fa970828 + sourceRevisionDigest: sha256:e35b6d52d30df5f6dd94845c8b081f628ebf8dd826ebd090720c8e820aef89c5 + sourceBlobDigest: sha256:9918085964b5cff8b60ccf0dece90c8eda1eb85831e32b6dbc1800d7da8b29ff codeSamplesNamespace: openapi-python-code-samples - codeSamplesRevisionDigest: sha256:36de8a6d6ed9d1553fc42c572429ffb1b5fb8cf9f1b3a8c4cdee152b4674e9a5 + codeSamplesRevisionDigest: sha256:cb3f86904a92d22a9fd0eef553208cc2dd0fac028c0722a71b85838748905b78 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index 91ffd989..9d1a3897 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1868,4 +1868,14 @@ Based on: ### Generated - [python v2.0.43] . ### Releases -- [PyPI v2.0.43] https://pypi.org/project/gr4vy/2.0.43 - . \ No newline at end of file +- [PyPI v2.0.43] https://pypi.org/project/gr4vy/2.0.43 - . + +## 2026-05-27 09:16:19 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.767.0 (2.888.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v2.0.44] . +### Releases +- [PyPI v2.0.44] https://pypi.org/project/gr4vy/2.0.44 - . \ No newline at end of file diff --git a/docs/models/transactioncapturecreate.md b/docs/models/transactioncapturecreate.md index 3ce93950..f471b543 100644 --- a/docs/models/transactioncapturecreate.md +++ b/docs/models/transactioncapturecreate.md @@ -8,4 +8,5 @@ Request body for capturing an authorized transaction. | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `amount` | *OptionalNullable[int]* | :heavy_minus_sign: | The amount to capture, in the smallest currency unit (e.g., cents). This must be less than or equal to the authorized amount, unless over-capture is available. | 1299 | -| `airline` | [OptionalNullable[models.Airline]](../models/airline.md) | :heavy_minus_sign: | The airline data to submit to the payment service during the capture call. | | \ No newline at end of file +| `airline` | [OptionalNullable[models.Airline]](../models/airline.md) | :heavy_minus_sign: | The airline data to submit to the payment service during the capture call. | | +| `cart_items` | List[[models.CartItem](../models/cartitem.md)] | :heavy_minus_sign: | An array of cart items that represents the line items of this capture. | | \ No newline at end of file diff --git a/docs/sdks/transactions/README.md b/docs/sdks/transactions/README.md index ad5ada70..e8b15da6 100644 --- a/docs/sdks/transactions/README.md +++ b/docs/sdks/transactions/README.md @@ -385,6 +385,7 @@ with Gr4vy( | `idempotency_key` | *OptionalNullable[str]* | :heavy_minus_sign: | A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions. | request-12345 | | `amount` | *OptionalNullable[int]* | :heavy_minus_sign: | The amount to capture, in the smallest currency unit (e.g., cents). This must be less than or equal to the authorized amount, unless over-capture is available. | 1299 | | `airline` | [OptionalNullable[models.Airline]](../../models/airline.md) | :heavy_minus_sign: | The airline data to submit to the payment service during the capture call. | | +| `cart_items` | List[[models.CartItem](../../models/cartitem.md)] | :heavy_minus_sign: | An array of cart items that represents the line items of this capture. | | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | ### Response diff --git a/pyproject.toml b/pyproject.toml index aea8eb65..170d3e73 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "gr4vy" -version = "2.0.43" +version = "2.0.44" description = "Python Client SDK Generated by Speakeasy." authors = [{ name = "Gr4vy" },] readme = "README-PYPI.md" diff --git a/src/gr4vy/_version.py b/src/gr4vy/_version.py index 8136a7e3..4e5baf74 100644 --- a/src/gr4vy/_version.py +++ b/src/gr4vy/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "gr4vy" -__version__: str = "2.0.43" +__version__: str = "2.0.44" __openapi_doc_version__: str = "1.0.0" -__gen_version__: str = "2.887.0" -__user_agent__: str = "speakeasy-sdk/python 2.0.43 2.887.0 1.0.0 gr4vy" +__gen_version__: str = "2.888.0" +__user_agent__: str = "speakeasy-sdk/python 2.0.44 2.888.0 1.0.0 gr4vy" try: if __package__ is not None: diff --git a/src/gr4vy/models/transactioncapturecreate.py b/src/gr4vy/models/transactioncapturecreate.py index a55a2395..cf7a4cf0 100644 --- a/src/gr4vy/models/transactioncapturecreate.py +++ b/src/gr4vy/models/transactioncapturecreate.py @@ -2,8 +2,10 @@ from __future__ import annotations from .airline import Airline, AirlineTypedDict +from .cartitem import CartItem, CartItemTypedDict from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from pydantic import model_serializer +from typing import List from typing_extensions import NotRequired, TypedDict @@ -14,6 +16,8 @@ class TransactionCaptureCreateTypedDict(TypedDict): r"""The amount to capture, in the smallest currency unit (e.g., cents). This must be less than or equal to the authorized amount, unless over-capture is available.""" airline: NotRequired[Nullable[AirlineTypedDict]] r"""The airline data to submit to the payment service during the capture call.""" + cart_items: NotRequired[Nullable[List[CartItemTypedDict]]] + r"""An array of cart items that represents the line items of this capture.""" class TransactionCaptureCreate(BaseModel): @@ -25,10 +29,13 @@ class TransactionCaptureCreate(BaseModel): airline: OptionalNullable[Airline] = UNSET r"""The airline data to submit to the payment service during the capture call.""" + cart_items: OptionalNullable[List[CartItem]] = UNSET + r"""An array of cart items that represents the line items of this capture.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["amount", "airline"]) - nullable_fields = set(["amount", "airline"]) + optional_fields = set(["amount", "airline", "cart_items"]) + nullable_fields = set(["amount", "airline", "cart_items"]) serialized = handler(self) m = {} diff --git a/src/gr4vy/transactions.py b/src/gr4vy/transactions.py index 6e649aad..180c93e6 100644 --- a/src/gr4vy/transactions.py +++ b/src/gr4vy/transactions.py @@ -1966,6 +1966,9 @@ def capture( airline: OptionalNullable[ Union[models.Airline, models.AirlineTypedDict] ] = UNSET, + cart_items: OptionalNullable[ + Union[List[models.CartItem], List[models.CartItemTypedDict]] + ] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1981,6 +1984,7 @@ def capture( :param idempotency_key: A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions. :param amount: The amount to capture, in the smallest currency unit (e.g., cents). This must be less than or equal to the authorized amount, unless over-capture is available. :param airline: The airline data to submit to the payment service during the capture call. + :param cart_items: An array of cart items that represents the line items of this capture. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -2006,6 +2010,9 @@ def capture( airline=utils.get_pydantic_model( airline, OptionalNullable[models.Airline] ), + cart_items=utils.get_pydantic_model( + cart_items, OptionalNullable[List[models.CartItem]] + ), ), ) @@ -2122,6 +2129,9 @@ async def capture_async( airline: OptionalNullable[ Union[models.Airline, models.AirlineTypedDict] ] = UNSET, + cart_items: OptionalNullable[ + Union[List[models.CartItem], List[models.CartItemTypedDict]] + ] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -2137,6 +2147,7 @@ async def capture_async( :param idempotency_key: A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions. :param amount: The amount to capture, in the smallest currency unit (e.g., cents). This must be less than or equal to the authorized amount, unless over-capture is available. :param airline: The airline data to submit to the payment service during the capture call. + :param cart_items: An array of cart items that represents the line items of this capture. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -2162,6 +2173,9 @@ async def capture_async( airline=utils.get_pydantic_model( airline, OptionalNullable[models.Airline] ), + cart_items=utils.get_pydantic_model( + cart_items, OptionalNullable[List[models.CartItem]] + ), ), ) From 91207c1b9925d61c07325a87cec87bda1e5679e0 Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Wed, 27 May 2026 09:18:35 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow