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.

Files changed (88) hide show
  1. channel3_sdk-2.3.0/.release-please-manifest.json +3 -0
  2. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/CHANGELOG.md +10 -0
  3. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/PKG-INFO +1 -1
  4. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/pyproject.toml +1 -1
  5. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_version.py +1 -1
  6. channel3_sdk-2.3.0/src/channel3_sdk/types/enrich_enrich_url_response.py +37 -0
  7. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/search_perform_params.py +7 -0
  8. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/api_resources/test_search.py +2 -0
  9. channel3_sdk-2.2.1/.release-please-manifest.json +0 -3
  10. channel3_sdk-2.2.1/src/channel3_sdk/types/enrich_enrich_url_response.py +0 -20
  11. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/.gitignore +0 -0
  12. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/CONTRIBUTING.md +0 -0
  13. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/LICENSE +0 -0
  14. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/README.md +0 -0
  15. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/SECURITY.md +0 -0
  16. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/api.md +0 -0
  17. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/bin/check-release-environment +0 -0
  18. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/bin/publish-pypi +0 -0
  19. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/examples/.keep +0 -0
  20. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/noxfile.py +0 -0
  21. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/release-please-config.json +0 -0
  22. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/requirements-dev.lock +0 -0
  23. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/requirements.lock +0 -0
  24. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/__init__.py +0 -0
  25. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_base_client.py +0 -0
  26. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_client.py +0 -0
  27. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_compat.py +0 -0
  28. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_constants.py +0 -0
  29. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_exceptions.py +0 -0
  30. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_files.py +0 -0
  31. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_models.py +0 -0
  32. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_qs.py +0 -0
  33. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_resource.py +0 -0
  34. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_response.py +0 -0
  35. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_streaming.py +0 -0
  36. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_types.py +0 -0
  37. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/__init__.py +0 -0
  38. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_compat.py +0 -0
  39. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_datetime_parse.py +0 -0
  40. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_logs.py +0 -0
  41. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_proxy.py +0 -0
  42. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_reflection.py +0 -0
  43. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_resources_proxy.py +0 -0
  44. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_streams.py +0 -0
  45. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_sync.py +0 -0
  46. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_transform.py +0 -0
  47. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_typing.py +0 -0
  48. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/_utils/_utils.py +0 -0
  49. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/lib/.keep +0 -0
  50. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/py.typed +0 -0
  51. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/resources/__init__.py +0 -0
  52. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/resources/brands.py +0 -0
  53. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/resources/enrich.py +0 -0
  54. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/resources/products.py +0 -0
  55. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/resources/search.py +0 -0
  56. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/__init__.py +0 -0
  57. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/availability_status.py +0 -0
  58. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/brand.py +0 -0
  59. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/brand_list_params.py +0 -0
  60. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/brand_list_response.py +0 -0
  61. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/enrich_enrich_url_params.py +0 -0
  62. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/price.py +0 -0
  63. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/product_retrieve_response.py +0 -0
  64. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/search_perform_response.py +0 -0
  65. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/channel3_sdk/types/variant.py +0 -0
  66. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/src/public_sdk/lib/.keep +0 -0
  67. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/__init__.py +0 -0
  68. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/api_resources/__init__.py +0 -0
  69. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/api_resources/test_brands.py +0 -0
  70. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/api_resources/test_client.py +0 -0
  71. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/api_resources/test_enrich.py +0 -0
  72. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/api_resources/test_products.py +0 -0
  73. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/conftest.py +0 -0
  74. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/sample_file.txt +0 -0
  75. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_client.py +0 -0
  76. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_deepcopy.py +0 -0
  77. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_extract_files.py +0 -0
  78. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_files.py +0 -0
  79. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_models.py +0 -0
  80. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_qs.py +0 -0
  81. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_required_args.py +0 -0
  82. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_response.py +0 -0
  83. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_streaming.py +0 -0
  84. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_transform.py +0 -0
  85. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_utils/test_datetime_parse.py +0 -0
  86. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_utils/test_proxy.py +0 -0
  87. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/test_utils/test_typing.py +0 -0
  88. {channel3_sdk-2.2.1 → channel3_sdk-2.3.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "2.3.0"
3
+ }
@@ -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.2.1
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "channel3_sdk"
3
- version = "2.2.1"
3
+ version = "2.3.0"
4
4
  description = "The official Python library for the channel3 API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "channel3_sdk"
4
- __version__ = "2.2.1" # x-release-please-version
4
+ __version__ = "2.3.0" # x-release-please-version
@@ -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,3 +0,0 @@
1
- {
2
- ".": "2.2.1"
3
- }
@@ -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