checkout-intents 0.3.3__tar.gz → 0.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checkout_intents-0.4.0/.release-please-manifest.json +3 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/CHANGELOG.md +13 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/PKG-INFO +1 -1
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/pyproject.toml +1 -1
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_base_client.py +1 -1
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_version.py +1 -1
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/resources/checkout_intents.py +4 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/types/base_checkout_intent.py +2 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/types/brand_retrieve_response.py +1 -1
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/types/checkout_intent.py +9 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/types/checkout_intent_create_params.py +3 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/types/offer.py +4 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/api_resources/test_checkout_intents.py +2 -0
- checkout_intents-0.3.3/.release-please-manifest.json +0 -3
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/.gitignore +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/CONTRIBUTING.md +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/LICENSE +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/README.md +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/SECURITY.md +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/api.md +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/bin/check-release-environment +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/bin/publish-pypi +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/examples/.keep +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/examples/complete-checkout-intent.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/examples/error-handling.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/noxfile.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/release-please-config.json +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/requirements-dev.lock +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/requirements.lock +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/__init__.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_client.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_compat.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_constants.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_exceptions.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_files.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_models.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_qs.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_resource.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_response.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_streaming.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_types.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_utils/__init__.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_utils/_compat.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_utils/_datetime_parse.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_utils/_logs.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_utils/_proxy.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_utils/_reflection.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_utils/_resources_proxy.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_utils/_streams.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_utils/_sync.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_utils/_transform.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_utils/_typing.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_utils/_utils.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/lib/.keep +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/pagination.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/py.typed +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/resources/__init__.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/resources/brands.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/types/__init__.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/types/buyer.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/types/buyer_param.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/types/checkout_intent_add_payment_params.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/types/checkout_intent_confirm_params.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/types/checkout_intent_list_params.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/types/money.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/types/payment_method.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/types/payment_method_param.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/types/variant_selection.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/types/variant_selection_param.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/__init__.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/api_resources/__init__.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/api_resources/test_brands.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/conftest.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/sample_file.txt +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/test_client.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/test_deepcopy.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/test_environment_inference.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/test_extract_files.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/test_files.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/test_models.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/test_polling.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/test_qs.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/test_required_args.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/test_response.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/test_streaming.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/test_transform.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/test_utils/test_proxy.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/test_utils/test_typing.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/utils.py +0 -0
- {checkout_intents-0.3.3 → checkout_intents-0.4.0}/uv.lock +0 -0
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.4.0 (2025-12-18)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.3.3...v0.4.0](https://github.com/rye-com/checkout-intents-python/compare/v0.3.3...v0.4.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* Adds support for promo codes
|
|
10
|
+
* Add durable purchase workflow and supporting infrastructure ([9db3309](https://github.com/rye-com/checkout-intents-python/commit/9db33093a5825e56e0c900cde20c74c22fb3f932))
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* use async_to_httpx_files in patch method ([66f7a30](https://github.com/rye-com/checkout-intents-python/commit/66f7a30af6fcadd97c651ec3d911d74f4699360f))
|
|
15
|
+
|
|
3
16
|
## 0.3.3 (2025-12-17)
|
|
4
17
|
|
|
5
18
|
Full Changelog: [v0.3.2...v0.3.3](https://github.com/rye-com/checkout-intents-python/compare/v0.3.2...v0.3.3)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: checkout-intents
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Summary: The official Python library for the Checkout Intents API
|
|
5
5
|
Project-URL: Homepage, https://github.com/rye-com/checkout-intents-python
|
|
6
6
|
Project-URL: Repository, https://github.com/rye-com/checkout-intents-python
|
|
@@ -1774,7 +1774,7 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
|
|
|
1774
1774
|
options: RequestOptions = {},
|
|
1775
1775
|
) -> ResponseT:
|
|
1776
1776
|
opts = FinalRequestOptions.construct(
|
|
1777
|
-
method="patch", url=path, json_data=body, files=
|
|
1777
|
+
method="patch", url=path, json_data=body, files=await async_to_httpx_files(files), **options
|
|
1778
1778
|
)
|
|
1779
1779
|
return await self.request(cast_to, opts)
|
|
1780
1780
|
|
{checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/resources/checkout_intents.py
RENAMED
|
@@ -70,6 +70,7 @@ class CheckoutIntentsResource(SyncAPIResource):
|
|
|
70
70
|
buyer: BuyerParam,
|
|
71
71
|
product_url: str,
|
|
72
72
|
quantity: float,
|
|
73
|
+
promo_codes: SequenceNotStr[str] | Omit = omit,
|
|
73
74
|
variant_selections: Iterable[VariantSelectionParam] | Omit = omit,
|
|
74
75
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
75
76
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -99,6 +100,7 @@ class CheckoutIntentsResource(SyncAPIResource):
|
|
|
99
100
|
"buyer": buyer,
|
|
100
101
|
"product_url": product_url,
|
|
101
102
|
"quantity": quantity,
|
|
103
|
+
"promo_codes": promo_codes,
|
|
102
104
|
"variant_selections": variant_selections,
|
|
103
105
|
},
|
|
104
106
|
checkout_intent_create_params.CheckoutIntentCreateParams,
|
|
@@ -671,6 +673,7 @@ class AsyncCheckoutIntentsResource(AsyncAPIResource):
|
|
|
671
673
|
buyer: BuyerParam,
|
|
672
674
|
product_url: str,
|
|
673
675
|
quantity: float,
|
|
676
|
+
promo_codes: SequenceNotStr[str] | Omit = omit,
|
|
674
677
|
variant_selections: Iterable[VariantSelectionParam] | Omit = omit,
|
|
675
678
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
676
679
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -700,6 +703,7 @@ class AsyncCheckoutIntentsResource(AsyncAPIResource):
|
|
|
700
703
|
"buyer": buyer,
|
|
701
704
|
"product_url": product_url,
|
|
702
705
|
"quantity": quantity,
|
|
706
|
+
"promo_codes": promo_codes,
|
|
703
707
|
"variant_selections": variant_selections,
|
|
704
708
|
},
|
|
705
709
|
checkout_intent_create_params.CheckoutIntentCreateParams,
|
|
@@ -11,7 +11,7 @@ class BrandRetrieveResponse(BaseModel):
|
|
|
11
11
|
id: str
|
|
12
12
|
"""A unique identifier for the brand."""
|
|
13
13
|
|
|
14
|
-
marketplace: Literal["AMAZON", "SHOPIFY", "UNKNOWN"]
|
|
14
|
+
marketplace: Literal["AMAZON", "SHOPIFY", "BESTBUY", "UNKNOWN"]
|
|
15
15
|
"""Indicates what ecommerce platform the brand uses."""
|
|
16
16
|
|
|
17
17
|
supported: bool
|
{checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/types/checkout_intent.py
RENAMED
|
@@ -63,8 +63,17 @@ class FailedCheckoutIntentFailureReason(BaseModel):
|
|
|
63
63
|
"missing_shipping_method",
|
|
64
64
|
"unsupported_currency",
|
|
65
65
|
"invalid_input",
|
|
66
|
+
"incorrect_cost_breakdown",
|
|
66
67
|
"unsupported_store_no_guest_checkout",
|
|
68
|
+
"workflow_invocation_failed",
|
|
69
|
+
"variant_selections_invalid",
|
|
70
|
+
"variant_selections_required",
|
|
71
|
+
"form_validation_error",
|
|
72
|
+
"captcha_blocked",
|
|
73
|
+
"bot_protection_blocked",
|
|
74
|
+
"unknown",
|
|
67
75
|
]
|
|
76
|
+
"""Type derived from runtime array - always in sync"""
|
|
68
77
|
|
|
69
78
|
message: str
|
|
70
79
|
|
|
@@ -5,6 +5,7 @@ from __future__ import annotations
|
|
|
5
5
|
from typing import Iterable
|
|
6
6
|
from typing_extensions import Required, Annotated, TypedDict
|
|
7
7
|
|
|
8
|
+
from .._types import SequenceNotStr
|
|
8
9
|
from .._utils import PropertyInfo
|
|
9
10
|
from .buyer_param import BuyerParam
|
|
10
11
|
from .variant_selection_param import VariantSelectionParam
|
|
@@ -19,4 +20,6 @@ class CheckoutIntentCreateParams(TypedDict, total=False):
|
|
|
19
20
|
|
|
20
21
|
quantity: Required[float]
|
|
21
22
|
|
|
23
|
+
promo_codes: Annotated[SequenceNotStr[str], PropertyInfo(alias="promoCodes")]
|
|
24
|
+
|
|
22
25
|
variant_selections: Annotated[Iterable[VariantSelectionParam], PropertyInfo(alias="variantSelections")]
|
|
@@ -19,6 +19,8 @@ class Cost(BaseModel):
|
|
|
19
19
|
|
|
20
20
|
shipping: Optional[Money] = None
|
|
21
21
|
|
|
22
|
+
surcharge: Optional[Money] = None
|
|
23
|
+
|
|
22
24
|
tax: Optional[Money] = None
|
|
23
25
|
|
|
24
26
|
|
|
@@ -27,6 +29,8 @@ class ShippingAvailableOption(BaseModel):
|
|
|
27
29
|
|
|
28
30
|
cost: Money
|
|
29
31
|
|
|
32
|
+
discount: Optional[Money] = None
|
|
33
|
+
|
|
30
34
|
|
|
31
35
|
class Shipping(BaseModel):
|
|
32
36
|
available_options: List[ShippingAvailableOption] = FieldInfo(alias="availableOptions")
|
{checkout_intents-0.3.3 → checkout_intents-0.4.0}/tests/api_resources/test_checkout_intents.py
RENAMED
|
@@ -58,6 +58,7 @@ class TestCheckoutIntents:
|
|
|
58
58
|
},
|
|
59
59
|
product_url="productUrl",
|
|
60
60
|
quantity=1,
|
|
61
|
+
promo_codes=["string"],
|
|
61
62
|
variant_selections=[
|
|
62
63
|
{
|
|
63
64
|
"label": "Size, Color, etc.",
|
|
@@ -383,6 +384,7 @@ class TestAsyncCheckoutIntents:
|
|
|
383
384
|
},
|
|
384
385
|
product_url="productUrl",
|
|
385
386
|
quantity=1,
|
|
387
|
+
promo_codes=["string"],
|
|
386
388
|
variant_selections=[
|
|
387
389
|
{
|
|
388
390
|
"label": "Size, Color, etc.",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_utils/_datetime_parse.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_utils/_reflection.py
RENAMED
|
File without changes
|
{checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/_utils/_resources_proxy.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/resources/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/types/payment_method.py
RENAMED
|
File without changes
|
{checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/types/payment_method_param.py
RENAMED
|
File without changes
|
{checkout_intents-0.3.3 → checkout_intents-0.4.0}/src/checkout_intents/types/variant_selection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|