channel3-sdk 2.2.1__tar.gz → 2.3.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.
Potentially problematic release.
This version of channel3-sdk might be problematic. Click here for more details.
- channel3_sdk-2.3.0/.release-please-manifest.json +3 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/CHANGELOG.md +10 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/PKG-INFO +1 -1
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/pyproject.toml +1 -1
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_version.py +1 -1
- channel3_sdk-2.3.0/src/channel3_sdk/types/enrich_enrich_url_response.py +37 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/search_perform_params.py +7 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/api_resources/test_search.py +2 -0
- channel3_sdk-2.2.1/.release-please-manifest.json +0 -3
- channel3_sdk-2.2.1/src/channel3_sdk/types/enrich_enrich_url_response.py +0 -20
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/.gitignore +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/CONTRIBUTING.md +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/LICENSE +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/README.md +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/SECURITY.md +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/api.md +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/bin/check-release-environment +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/bin/publish-pypi +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/examples/.keep +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/noxfile.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/release-please-config.json +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/requirements-dev.lock +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/requirements.lock +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/__init__.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_base_client.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_client.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_compat.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_constants.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_exceptions.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_files.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_models.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_qs.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_resource.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_response.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_streaming.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_types.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/__init__.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_compat.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_datetime_parse.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_logs.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_proxy.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_reflection.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_resources_proxy.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_streams.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_sync.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_transform.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_typing.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_utils.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/lib/.keep +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/py.typed +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/resources/__init__.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/resources/brands.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/resources/enrich.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/resources/products.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/resources/search.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/__init__.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/availability_status.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/brand.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/brand_list_params.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/brand_list_response.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/enrich_enrich_url_params.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/price.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/product_retrieve_response.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/search_perform_response.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/variant.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/public_sdk/lib/.keep +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/__init__.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/api_resources/__init__.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/api_resources/test_brands.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/api_resources/test_client.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/api_resources/test_enrich.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/api_resources/test_products.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/conftest.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/sample_file.txt +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_client.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_deepcopy.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_extract_files.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_files.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_models.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_qs.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_required_args.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_response.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_streaming.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_transform.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_utils/test_proxy.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_utils/test_typing.py +0 -0
- {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.3.0 (2025-10-28)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v2.2.1...v2.3.0](https://github.com/channel3-ai/sdk-python/compare/v2.2.1...v2.3.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([0f0cc28](https://github.com/channel3-ai/sdk-python/commit/0f0cc28d457562ccf192e206b7ca77a06ac32759))
|
|
10
|
+
* **api:** api update ([ddc05e6](https://github.com/channel3-ai/sdk-python/commit/ddc05e676b4faf282733af7ed40eb25a9fba1118))
|
|
11
|
+
* **api:** api update ([e2d274a](https://github.com/channel3-ai/sdk-python/commit/e2d274aabd3eaa4942a93cb1c212cad69f634f42))
|
|
12
|
+
|
|
3
13
|
## 2.2.1 (2025-10-21)
|
|
4
14
|
|
|
5
15
|
Full Changelog: [v2.2.0...v2.2.1](https://github.com/channel3-ai/sdk-python/compare/v2.2.0...v2.2.1)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: channel3_sdk
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.3.0
|
|
4
4
|
Summary: The official Python library for the channel3 API
|
|
5
5
|
Project-URL: Homepage, https://github.com/channel3-ai/sdk-python
|
|
6
6
|
Project-URL: Repository, https://github.com/channel3-ai/sdk-python
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
from .price import Price
|
|
7
|
+
from .variant import Variant
|
|
8
|
+
from .._models import BaseModel
|
|
9
|
+
from .availability_status import AvailabilityStatus
|
|
10
|
+
|
|
11
|
+
__all__ = ["EnrichEnrichURLResponse"]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class EnrichEnrichURLResponse(BaseModel):
|
|
15
|
+
id: str
|
|
16
|
+
|
|
17
|
+
availability: AvailabilityStatus
|
|
18
|
+
|
|
19
|
+
price: Price
|
|
20
|
+
|
|
21
|
+
title: str
|
|
22
|
+
|
|
23
|
+
url: str
|
|
24
|
+
|
|
25
|
+
brand_id: Optional[str] = None
|
|
26
|
+
|
|
27
|
+
brand_name: Optional[str] = None
|
|
28
|
+
|
|
29
|
+
gender: Optional[Literal["male", "female", "unisex"]] = None
|
|
30
|
+
|
|
31
|
+
image_urls: Optional[List[str]] = None
|
|
32
|
+
|
|
33
|
+
key_features: Optional[List[str]] = None
|
|
34
|
+
|
|
35
|
+
materials: Optional[List[str]] = None
|
|
36
|
+
|
|
37
|
+
variants: Optional[List[Variant]] = None
|
|
@@ -37,6 +37,13 @@ class SearchPerformParams(TypedDict, total=False):
|
|
|
37
37
|
class Config(TypedDict, total=False):
|
|
38
38
|
enrich_query: bool
|
|
39
39
|
|
|
40
|
+
redirect_mode: Optional[Literal["brand", "price", "commission"]]
|
|
41
|
+
"""
|
|
42
|
+
"price" redirects to the product page with the lowest price "commission"
|
|
43
|
+
redirects to the product page with the highest commission rate "brand" redirects
|
|
44
|
+
to the brand's product page
|
|
45
|
+
"""
|
|
46
|
+
|
|
40
47
|
semantic_search: bool
|
|
41
48
|
|
|
42
49
|
|
|
@@ -30,6 +30,7 @@ class TestSearch:
|
|
|
30
30
|
base64_image="base64_image",
|
|
31
31
|
config={
|
|
32
32
|
"enrich_query": True,
|
|
33
|
+
"redirect_mode": "brand",
|
|
33
34
|
"semantic_search": True,
|
|
34
35
|
},
|
|
35
36
|
context="context",
|
|
@@ -90,6 +91,7 @@ class TestAsyncSearch:
|
|
|
90
91
|
base64_image="base64_image",
|
|
91
92
|
config={
|
|
92
93
|
"enrich_query": True,
|
|
94
|
+
"redirect_mode": "brand",
|
|
93
95
|
"semantic_search": True,
|
|
94
96
|
},
|
|
95
97
|
context="context",
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
-
|
|
3
|
-
from typing import List
|
|
4
|
-
|
|
5
|
-
from .price import Price
|
|
6
|
-
from .._models import BaseModel
|
|
7
|
-
|
|
8
|
-
__all__ = ["EnrichEnrichURLResponse"]
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class EnrichEnrichURLResponse(BaseModel):
|
|
12
|
-
main_image_url: str
|
|
13
|
-
|
|
14
|
-
other_image_urls: List[str]
|
|
15
|
-
|
|
16
|
-
price: Price
|
|
17
|
-
|
|
18
|
-
title: str
|
|
19
|
-
|
|
20
|
-
url: str
|
|
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
|
|
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
|
{channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/enrich_enrich_url_params.py
RENAMED
|
File without changes
|
|
File without changes
|
{channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/product_retrieve_response.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
|
|
File without changes
|
|
File without changes
|