channel3-sdk 1.0.0__py3-none-any.whl → 2.1.0__py3-none-any.whl
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/__init__.py +94 -44
- channel3_sdk/_base_client.py +1995 -0
- channel3_sdk/_client.py +549 -0
- channel3_sdk/_compat.py +219 -0
- channel3_sdk/_constants.py +14 -0
- channel3_sdk/_exceptions.py +108 -0
- channel3_sdk/_files.py +123 -0
- channel3_sdk/_models.py +829 -0
- channel3_sdk/_qs.py +150 -0
- channel3_sdk/_resource.py +43 -0
- channel3_sdk/_response.py +832 -0
- channel3_sdk/_streaming.py +333 -0
- channel3_sdk/_types.py +253 -0
- channel3_sdk/_utils/__init__.py +64 -0
- channel3_sdk/_utils/_compat.py +45 -0
- channel3_sdk/_utils/_datetime_parse.py +136 -0
- channel3_sdk/_utils/_logs.py +25 -0
- channel3_sdk/_utils/_proxy.py +65 -0
- channel3_sdk/_utils/_reflection.py +42 -0
- channel3_sdk/_utils/_resources_proxy.py +24 -0
- channel3_sdk/_utils/_streams.py +12 -0
- channel3_sdk/_utils/_sync.py +86 -0
- channel3_sdk/_utils/_transform.py +457 -0
- channel3_sdk/_utils/_typing.py +156 -0
- channel3_sdk/_utils/_utils.py +421 -0
- channel3_sdk/_version.py +4 -0
- channel3_sdk/lib/.keep +4 -0
- channel3_sdk/py.typed +0 -0
- channel3_sdk/resources/__init__.py +61 -0
- channel3_sdk/resources/brands.py +268 -0
- channel3_sdk/resources/enrich.py +167 -0
- channel3_sdk/resources/products.py +163 -0
- channel3_sdk/resources/search.py +227 -0
- channel3_sdk/types/__init__.py +15 -0
- channel3_sdk/types/availability_status.py +9 -0
- channel3_sdk/types/brand.py +17 -0
- channel3_sdk/types/brand_list_params.py +16 -0
- channel3_sdk/types/brand_list_response.py +25 -0
- channel3_sdk/types/enrich_enrich_url_params.py +12 -0
- channel3_sdk/types/enrich_enrich_url_response.py +20 -0
- channel3_sdk/types/price.py +18 -0
- channel3_sdk/types/product_retrieve_response.py +39 -0
- channel3_sdk/types/search_perform_params.py +64 -0
- channel3_sdk/types/search_perform_response.py +36 -0
- channel3_sdk/types/variant.py +13 -0
- channel3_sdk-2.1.0.dist-info/METADATA +414 -0
- channel3_sdk-2.1.0.dist-info/RECORD +49 -0
- {channel3_sdk-1.0.0.dist-info → channel3_sdk-2.1.0.dist-info}/WHEEL +1 -1
- channel3_sdk-2.1.0.dist-info/licenses/LICENSE +201 -0
- channel3_sdk/_gen/.gitignore +0 -23
- channel3_sdk/_gen/README.md +0 -124
- channel3_sdk/_gen/fast_api_client/__init__.py +0 -8
- channel3_sdk/_gen/fast_api_client/api/__init__.py +0 -1
- channel3_sdk/_gen/fast_api_client/api/channel3_api/__init__.py +0 -1
- channel3_sdk/_gen/fast_api_client/api/channel3_api/get_brand_detail_v0_brands_brand_id_get.py +0 -179
- channel3_sdk/_gen/fast_api_client/api/channel3_api/get_brands_v0_brands_get.py +0 -218
- channel3_sdk/_gen/fast_api_client/api/channel3_api/get_product_detail_v0_products_product_id_get.py +0 -179
- channel3_sdk/_gen/fast_api_client/api/channel3_api/search_v0_search_post.py +0 -193
- channel3_sdk/_gen/fast_api_client/api/default/__init__.py +0 -1
- channel3_sdk/_gen/fast_api_client/api/default/root_get.py +0 -79
- channel3_sdk/_gen/fast_api_client/client.py +0 -268
- channel3_sdk/_gen/fast_api_client/errors.py +0 -16
- channel3_sdk/_gen/fast_api_client/models/__init__.py +0 -35
- channel3_sdk/_gen/fast_api_client/models/availability_status.py +0 -15
- channel3_sdk/_gen/fast_api_client/models/brand.py +0 -109
- channel3_sdk/_gen/fast_api_client/models/error_response.py +0 -59
- channel3_sdk/_gen/fast_api_client/models/paginated_response_brand.py +0 -83
- channel3_sdk/_gen/fast_api_client/models/pagination_meta.py +0 -84
- channel3_sdk/_gen/fast_api_client/models/price.py +0 -89
- channel3_sdk/_gen/fast_api_client/models/product.py +0 -166
- channel3_sdk/_gen/fast_api_client/models/product_detail.py +0 -306
- channel3_sdk/_gen/fast_api_client/models/product_detail_gender_type_0.py +0 -10
- channel3_sdk/_gen/fast_api_client/models/search_config.py +0 -69
- channel3_sdk/_gen/fast_api_client/models/search_filter_price.py +0 -92
- channel3_sdk/_gen/fast_api_client/models/search_filters.py +0 -191
- channel3_sdk/_gen/fast_api_client/models/search_filters_gender_type_0.py +0 -10
- channel3_sdk/_gen/fast_api_client/models/search_request.py +0 -191
- channel3_sdk/_gen/fast_api_client/models/variant.py +0 -75
- channel3_sdk/_gen/fast_api_client/py.typed +0 -1
- channel3_sdk/_gen/fast_api_client/types.py +0 -54
- channel3_sdk/_gen/pyproject.toml +0 -26
- channel3_sdk/client.py +0 -361
- channel3_sdk/exceptions.py +0 -48
- channel3_sdk-1.0.0.dist-info/METADATA +0 -341
- channel3_sdk-1.0.0.dist-info/RECORD +0 -38
|
@@ -1,341 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: channel3-sdk
|
|
3
|
-
Version: 1.0.0
|
|
4
|
-
Summary: The official Python SDK for Channel3
|
|
5
|
-
Home-page: https://github.com/channel3-ai/sdk-python
|
|
6
|
-
License: MIT
|
|
7
|
-
Keywords: ai,shopping,ecommerce,search,api
|
|
8
|
-
Author: Channel3
|
|
9
|
-
Author-email: alex@trychannel3.com
|
|
10
|
-
Requires-Python: >=3.9,<4.0
|
|
11
|
-
Classifier: Development Status :: 4 - Beta
|
|
12
|
-
Classifier: Intended Audience :: Developers
|
|
13
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
-
Classifier: Programming Language :: Python
|
|
15
|
-
Classifier: Programming Language :: Python :: 3
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
-
Classifier: Topic :: Software Development :: Libraries
|
|
21
|
-
Classifier: Typing :: Typed
|
|
22
|
-
Requires-Dist: attrs (>=22.2.0)
|
|
23
|
-
Requires-Dist: httpx (>=0.23.0,<0.29.0)
|
|
24
|
-
Requires-Dist: python-dateutil (>=2.8.0,<3.0.0)
|
|
25
|
-
Requires-Dist: requests (>=2.31.0,<3.0.0)
|
|
26
|
-
Project-URL: Repository, https://github.com/channel3-ai/sdk-python
|
|
27
|
-
Description-Content-Type: text/markdown
|
|
28
|
-
|
|
29
|
-
# Channel3 Python SDK
|
|
30
|
-
|
|
31
|
-
The official Python SDK for the [Channel3](https://trychannel3.com) AI Shopping API.
|
|
32
|
-
|
|
33
|
-
## Installation
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
pip install channel3-sdk
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Quick Start
|
|
40
|
-
|
|
41
|
-
### Synchronous Client
|
|
42
|
-
|
|
43
|
-
```python
|
|
44
|
-
import os
|
|
45
|
-
from channel3_sdk import Channel3Client
|
|
46
|
-
|
|
47
|
-
# Initialize the client
|
|
48
|
-
client = Channel3Client(api_key="your_api_key_here")
|
|
49
|
-
# Or use environment variable: CHANNEL3_API_KEY
|
|
50
|
-
|
|
51
|
-
# Search for products
|
|
52
|
-
products = client.search(query="blue denim jacket")
|
|
53
|
-
|
|
54
|
-
for product in products:
|
|
55
|
-
print(f"Product: {product.title}")
|
|
56
|
-
print(f"Brand: {product.brand_name}")
|
|
57
|
-
print(f"Price: {product.price.currency} {product.price.price}")
|
|
58
|
-
print(f"Availability: {product.availability}")
|
|
59
|
-
print("---")
|
|
60
|
-
|
|
61
|
-
# Get detailed product information
|
|
62
|
-
product_detail = client.get_product("prod_123456")
|
|
63
|
-
print(f"Detailed info for: {product_detail.title}")
|
|
64
|
-
print(f"Brand: {product_detail.brand_name}")
|
|
65
|
-
if product_detail.key_features:
|
|
66
|
-
print(f"Key features: {product_detail.key_features}")
|
|
67
|
-
|
|
68
|
-
# Get all brands
|
|
69
|
-
brands = client.get_brands()
|
|
70
|
-
print(f"Found {len(brands.items)} brands")
|
|
71
|
-
|
|
72
|
-
# Get specific brand details
|
|
73
|
-
brand = client.get_brand("brand_123")
|
|
74
|
-
print(f"Brand: {brand.name}")
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### Asynchronous Client
|
|
78
|
-
|
|
79
|
-
```python
|
|
80
|
-
import asyncio
|
|
81
|
-
from channel3_sdk import AsyncChannel3Client
|
|
82
|
-
|
|
83
|
-
async def main():
|
|
84
|
-
# Initialize the async client
|
|
85
|
-
client = AsyncChannel3Client(api_key="your_api_key_here")
|
|
86
|
-
|
|
87
|
-
# Search for products
|
|
88
|
-
products = await client.search(query="running shoes")
|
|
89
|
-
|
|
90
|
-
for product in products:
|
|
91
|
-
print(f"Product: {product.title}")
|
|
92
|
-
print(f"Score: {product.score}")
|
|
93
|
-
print(f"Price: {product.price.currency} {product.price.price}")
|
|
94
|
-
|
|
95
|
-
# Get detailed product information
|
|
96
|
-
if products:
|
|
97
|
-
product_detail = await client.get_product(products[0].id)
|
|
98
|
-
print(f"Availability: {product_detail.availability}")
|
|
99
|
-
|
|
100
|
-
# Get brands
|
|
101
|
-
brands = await client.get_brands()
|
|
102
|
-
print(f"Found {len(brands.items)} brands")
|
|
103
|
-
|
|
104
|
-
# Run the async function
|
|
105
|
-
asyncio.run(main())
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
## Advanced Usage
|
|
109
|
-
|
|
110
|
-
### Visual Search
|
|
111
|
-
|
|
112
|
-
```python
|
|
113
|
-
# Search by image URL
|
|
114
|
-
products = client.search(image_url="https://example.com/image.jpg")
|
|
115
|
-
|
|
116
|
-
# Search by base64 image
|
|
117
|
-
with open("image.jpg", "rb") as f:
|
|
118
|
-
import base64
|
|
119
|
-
base64_image = base64.b64encode(f.read()).decode()
|
|
120
|
-
products = client.search(base64_image=base64_image)
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
### Multimodal Search
|
|
124
|
-
|
|
125
|
-
```python
|
|
126
|
-
# Combine text and image search
|
|
127
|
-
products = client.search(
|
|
128
|
-
query="blue denim jacket",
|
|
129
|
-
image_url="https://example.com/jacket.jpg"
|
|
130
|
-
)
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
### Search with Filters
|
|
134
|
-
|
|
135
|
-
```python
|
|
136
|
-
from channel3_sdk import SearchFilters, AvailabilityStatus
|
|
137
|
-
|
|
138
|
-
# Create search filters
|
|
139
|
-
filters = SearchFilters(
|
|
140
|
-
brand_ids=["brand_123", "brand_456"],
|
|
141
|
-
gender="male",
|
|
142
|
-
availability=[AvailabilityStatus.IN_STOCK],
|
|
143
|
-
price={"min_price": 50.0, "max_price": 200.0}
|
|
144
|
-
)
|
|
145
|
-
|
|
146
|
-
# Search with filters
|
|
147
|
-
products = client.search(
|
|
148
|
-
query="jacket",
|
|
149
|
-
filters=filters,
|
|
150
|
-
limit=10
|
|
151
|
-
)
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
### Search configuration and context
|
|
155
|
-
|
|
156
|
-
You can control how search behaves using `SearchConfig`, and add optional `context` to guide results.
|
|
157
|
-
|
|
158
|
-
```python
|
|
159
|
-
from channel3_sdk import SearchConfig
|
|
160
|
-
|
|
161
|
-
config = SearchConfig(enrich_query=True, semantic_search=False)
|
|
162
|
-
|
|
163
|
-
products = client.search(
|
|
164
|
-
query="running shoes",
|
|
165
|
-
limit=5,
|
|
166
|
-
config=config, # or a dict: {"enrich_query": True, "semantic_search": False}
|
|
167
|
-
context="Marathon training on road surfaces"
|
|
168
|
-
)
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
Async usage is identical:
|
|
172
|
-
|
|
173
|
-
```python
|
|
174
|
-
products = await async_client.search(
|
|
175
|
-
query="hiking boots",
|
|
176
|
-
config={"enrich_query": False, "semantic_search": True},
|
|
177
|
-
context="Waterproof boots for alpine conditions"
|
|
178
|
-
)
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
### Brand Management
|
|
182
|
-
|
|
183
|
-
```python
|
|
184
|
-
# Get all brands with pagination
|
|
185
|
-
brands = client.get_brands(page=1, size=50)
|
|
186
|
-
print(brands.pagination.total_count)
|
|
187
|
-
|
|
188
|
-
# Search for specific brands
|
|
189
|
-
nike_brands = client.get_brands(query="nike")
|
|
190
|
-
|
|
191
|
-
# Get detailed brand information
|
|
192
|
-
brand_detail = client.get_brand("brand_123")
|
|
193
|
-
print(f"Brand: {brand_detail.name}")
|
|
194
|
-
print(f"Logo: {brand_detail.logo_url}")
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
## API Reference
|
|
198
|
-
|
|
199
|
-
### Client Classes
|
|
200
|
-
|
|
201
|
-
#### `Channel3Client`
|
|
202
|
-
|
|
203
|
-
Synchronous client for the Channel3 API.
|
|
204
|
-
|
|
205
|
-
**Methods:**
|
|
206
|
-
|
|
207
|
-
- `search(query=None, image_url=None, base64_image=None, filters=None, limit=20, config=None, context=None)` → `List[Product]`
|
|
208
|
-
- `get_product(product_id)` → `ProductDetail`
|
|
209
|
-
- `get_brands(query=None, page=1, size=100)` → `PaginatedResponseBrand`
|
|
210
|
-
- `get_brand(brand_id)` → `Brand`
|
|
211
|
-
|
|
212
|
-
#### `AsyncChannel3Client`
|
|
213
|
-
|
|
214
|
-
Asynchronous client for the Channel3 API.
|
|
215
|
-
|
|
216
|
-
**Methods:**
|
|
217
|
-
|
|
218
|
-
- `async search(query=None, image_url=None, base64_image=None, filters=None, limit=20, config=None, context=None)` → `List[Product]`
|
|
219
|
-
- `async get_product(product_id)` → `ProductDetail`
|
|
220
|
-
- `async get_brands(query=None, page=1, size=100)` → `PaginatedResponseBrand`
|
|
221
|
-
- `async get_brand(brand_id)` → `Brand`
|
|
222
|
-
|
|
223
|
-
### Models
|
|
224
|
-
|
|
225
|
-
#### `Product`
|
|
226
|
-
|
|
227
|
-
- `id: str` - Unique product identifier
|
|
228
|
-
- `score: float` - Search relevance score
|
|
229
|
-
- `title: str` - Product title
|
|
230
|
-
- `description: Optional[str]` - Product description
|
|
231
|
-
- `brand_name: str` - Brand name
|
|
232
|
-
- `image_url: str` - Main product image URL
|
|
233
|
-
- `price: Price` - Price information
|
|
234
|
-
- `availability: AvailabilityStatus` - Availability status
|
|
235
|
-
- `variants: List[Variant]` - Product variants
|
|
236
|
-
|
|
237
|
-
#### `ProductDetail`
|
|
238
|
-
|
|
239
|
-
- `title: str` - Product title
|
|
240
|
-
- `description: Optional[str]` - Product description
|
|
241
|
-
- `brand_id: Optional[str]` - Brand identifier
|
|
242
|
-
- `brand_name: Optional[str]` - Brand name
|
|
243
|
-
- `image_urls: Optional[List[str]]` - Product image URLs
|
|
244
|
-
- `price: Price` - Price information
|
|
245
|
-
- `availability: AvailabilityStatus` - Availability status
|
|
246
|
-
- `key_features: Optional[List[str]]` - Key product features
|
|
247
|
-
- `variants: List[Variant]` - Product variants
|
|
248
|
-
|
|
249
|
-
#### `Brand`
|
|
250
|
-
|
|
251
|
-
- `id: str` - Unique brand identifier
|
|
252
|
-
- `name: str` - Brand name
|
|
253
|
-
- `logo_url: Optional[str]` - Brand logo URL
|
|
254
|
-
- `description: Optional[str]` - Brand description
|
|
255
|
-
|
|
256
|
-
#### `Variant`
|
|
257
|
-
|
|
258
|
-
- `product_id: str` - Associated product identifier
|
|
259
|
-
- `title: str` - Variant title
|
|
260
|
-
- `image_url: str` - Variant image URL
|
|
261
|
-
|
|
262
|
-
#### `SearchFilters`
|
|
263
|
-
|
|
264
|
-
- `brand_ids: Optional[List[str]]` - Brand ID filters
|
|
265
|
-
- `gender: Optional[Literal["male", "female", "unisex"]]` - Gender filter
|
|
266
|
-
- `price: Optional[SearchFilterPrice]` - Price range filter
|
|
267
|
-
- `availability: Optional[List[AvailabilityStatus]]` - Availability filters
|
|
268
|
-
|
|
269
|
-
#### `SearchFilterPrice`
|
|
270
|
-
|
|
271
|
-
- `min_price: Optional[float]` - Minimum price
|
|
272
|
-
- `max_price: Optional[float]` - Maximum price
|
|
273
|
-
|
|
274
|
-
#### `SearchConfig`
|
|
275
|
-
|
|
276
|
-
- `enrich_query: bool = True` — enable query rewriting/enrichment
|
|
277
|
-
- `semantic_search: bool = True` — enable semantic ranking
|
|
278
|
-
|
|
279
|
-
#### `Price`
|
|
280
|
-
|
|
281
|
-
- `price: float` - Current price
|
|
282
|
-
- `compare_at_price: Optional[float]` - Original price (if discounted)
|
|
283
|
-
- `currency: str` - Currency code
|
|
284
|
-
|
|
285
|
-
#### `AvailabilityStatus`
|
|
286
|
-
|
|
287
|
-
Enum with values: `IN_STOCK`, `OUT_OF_STOCK`, `PRE_ORDER`, `LIMITED_AVAILABILITY`, `BACK_ORDER`, `DISCONTINUED`, `SOLD_OUT`, `UNKNOWN`
|
|
288
|
-
|
|
289
|
-
#### `PaginatedResponseBrand`
|
|
290
|
-
|
|
291
|
-
- `items: List[Brand]` — page of brands
|
|
292
|
-
- `pagination: PaginationMeta` — pagination info
|
|
293
|
-
|
|
294
|
-
#### `PaginationMeta`
|
|
295
|
-
|
|
296
|
-
- `current_page: int`
|
|
297
|
-
- `page_size: int`
|
|
298
|
-
- `total_count: int`
|
|
299
|
-
- `total_pages: int`
|
|
300
|
-
|
|
301
|
-
## Error Handling
|
|
302
|
-
|
|
303
|
-
The SDK provides specific exception types for different error conditions:
|
|
304
|
-
|
|
305
|
-
```python
|
|
306
|
-
from channel3_sdk import (
|
|
307
|
-
Channel3AuthenticationError,
|
|
308
|
-
Channel3ValidationError,
|
|
309
|
-
Channel3NotFoundError,
|
|
310
|
-
Channel3ServerError,
|
|
311
|
-
Channel3ConnectionError
|
|
312
|
-
)
|
|
313
|
-
|
|
314
|
-
try:
|
|
315
|
-
products = client.search(query="shoes")
|
|
316
|
-
except Channel3AuthenticationError:
|
|
317
|
-
print("Invalid API key")
|
|
318
|
-
except Channel3ValidationError as e:
|
|
319
|
-
print(f"Invalid request: {e.message}")
|
|
320
|
-
except Channel3NotFoundError:
|
|
321
|
-
print("Resource not found")
|
|
322
|
-
except Channel3ServerError:
|
|
323
|
-
print("Server error - please try again later")
|
|
324
|
-
except Channel3ConnectionError:
|
|
325
|
-
print("Connection error - check your internet connection")
|
|
326
|
-
```
|
|
327
|
-
|
|
328
|
-
## Environment Variables
|
|
329
|
-
|
|
330
|
-
- `CHANNEL3_API_KEY` - Your Channel3 API key
|
|
331
|
-
|
|
332
|
-
## Requirements
|
|
333
|
-
|
|
334
|
-
- Python 3.9+
|
|
335
|
-
- requests
|
|
336
|
-
- httpx
|
|
337
|
-
|
|
338
|
-
## License
|
|
339
|
-
|
|
340
|
-
MIT License
|
|
341
|
-
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
channel3_sdk/__init__.py,sha256=mYmvZ2ahuAxzy_1gtroB8qpK_u_tuKoDCm5C_LHRwRg,1696
|
|
2
|
-
channel3_sdk/_gen/.gitignore,sha256=SwZvl9qyKaHN9YjwaQrBsmpAclN11usf9Gohz1SFVg8,195
|
|
3
|
-
channel3_sdk/_gen/README.md,sha256=d6VMPYuhTiK-WEKNRd-zbIG_uzYOVWkVvPBgDEPVwnc,4997
|
|
4
|
-
channel3_sdk/_gen/fast_api_client/__init__.py,sha256=qUheje2C4lZ8b26EUHXHRJ3dWuzKiExv_JVOdVCFAek,150
|
|
5
|
-
channel3_sdk/_gen/fast_api_client/api/__init__.py,sha256=zTSiG_ujSjAqWPyc435YXaX9XTlpMjiJWBbV-f-YtdA,45
|
|
6
|
-
channel3_sdk/_gen/fast_api_client/api/channel3_api/__init__.py,sha256=5vd9uJWAjRqa9xzxzYkLD1yoZ12Ld_bAaNB5WX4fbE8,56
|
|
7
|
-
channel3_sdk/_gen/fast_api_client/api/channel3_api/get_brand_detail_v0_brands_brand_id_get.py,sha256=yNOOiKimIDQONHCH3i5KBnYa1LvEjD6THXjCyLgE-tU,4611
|
|
8
|
-
channel3_sdk/_gen/fast_api_client/api/channel3_api/get_brands_v0_brands_get.py,sha256=KfCOw1595dAcV1IT9Vuddz1EKiaHOb2BBrVcmNsczL0,6075
|
|
9
|
-
channel3_sdk/_gen/fast_api_client/api/channel3_api/get_product_detail_v0_products_product_id_get.py,sha256=8d3Z4CXdph42GcYSjqaVFqz54Ct2D8tqwZ8PXn66Xyo,4778
|
|
10
|
-
channel3_sdk/_gen/fast_api_client/api/channel3_api/search_v0_search_post.py,sha256=TV2_222dJtv8nmVXxGGznB-maWlHZB96nxJAhxQz6T0,4944
|
|
11
|
-
channel3_sdk/_gen/fast_api_client/api/default/__init__.py,sha256=5vd9uJWAjRqa9xzxzYkLD1yoZ12Ld_bAaNB5WX4fbE8,56
|
|
12
|
-
channel3_sdk/_gen/fast_api_client/api/default/root_get.py,sha256=83wq3kzLX9On8L2L8wldOgIf90e5fUsTT6dbC2bvfYM,2063
|
|
13
|
-
channel3_sdk/_gen/fast_api_client/client.py,sha256=o_mdLqyBCQstu5tS1WZFwqIEbGwkvWQ7eQjuCJw_5VY,12419
|
|
14
|
-
channel3_sdk/_gen/fast_api_client/errors.py,sha256=gO8GBmKqmSNgAg-E5oT-oOyxztvp7V_6XG7OUTT15q0,546
|
|
15
|
-
channel3_sdk/_gen/fast_api_client/models/__init__.py,sha256=Yc0J6woL8dLhHW0VZbZuSV17-9DHR-qpk63sC6SiNVc,1059
|
|
16
|
-
channel3_sdk/_gen/fast_api_client/models/availability_status.py,sha256=yC7hCgFwU_CcIfnS2UggdFdNWsoq0lvrdrR5n43tIto,361
|
|
17
|
-
channel3_sdk/_gen/fast_api_client/models/brand.py,sha256=hEObzXznweXyzLjiSQl0pUBYquCrn09XKcFSKtjoQfk,2986
|
|
18
|
-
channel3_sdk/_gen/fast_api_client/models/error_response.py,sha256=hGdOt8lakOZFh9YlOE53zEq9Ektv6cOQTIbqtRLg4TQ,1467
|
|
19
|
-
channel3_sdk/_gen/fast_api_client/models/paginated_response_brand.py,sha256=TPd0tEzvE7TxE7DhpSsh5p4FpP1muHSYQezwZ9Yxcas,2330
|
|
20
|
-
channel3_sdk/_gen/fast_api_client/models/pagination_meta.py,sha256=iF8W1dOyuDb4Y5Wa5HviYfXjPJkayK5R68JgNA7rwY4,2185
|
|
21
|
-
channel3_sdk/_gen/fast_api_client/models/price.py,sha256=aol4R82ffjKvsrzch-P1iw5HwT0FcCqUmGvjb65lPmM,2617
|
|
22
|
-
channel3_sdk/_gen/fast_api_client/models/product.py,sha256=XkKaBA89YOaMh9XSTEdBkvO8miQVED8nNquAO75bw1s,4485
|
|
23
|
-
channel3_sdk/_gen/fast_api_client/models/product_detail.py,sha256=PybK6gS_yxmjIax7ryH6pha69T-iCNR8IjtWHn8cFVU,9850
|
|
24
|
-
channel3_sdk/_gen/fast_api_client/models/product_detail_gender_type_0.py,sha256=iz4Yx9AiuvITYK5r1C_8hUY09GyVtJ7Saru7FdeDGLQ,191
|
|
25
|
-
channel3_sdk/_gen/fast_api_client/models/search_config.py,sha256=nVjpdhESU7IJiCW4HCdq1hUGDVtrhXhFJqrjDgGHzlc,2031
|
|
26
|
-
channel3_sdk/_gen/fast_api_client/models/search_filter_price.py,sha256=GFaLgoXXRkLpX39b3w0JpZRek026DQEp-UfRMaXmMXs,2864
|
|
27
|
-
channel3_sdk/_gen/fast_api_client/models/search_filters.py,sha256=KjioDMmVINN2vR1iCEj7GH9ME6BfmI17a1jgiMyd8xU,6657
|
|
28
|
-
channel3_sdk/_gen/fast_api_client/models/search_filters_gender_type_0.py,sha256=52XYojpfDdj_LV_9gQbsGWP_aANJ1-KiZOogxn4noms,191
|
|
29
|
-
channel3_sdk/_gen/fast_api_client/models/search_request.py,sha256=oqQcXcH1Psp-Qwx8_MFhyPIB60gBMo-IpPnBp24DUmg,6156
|
|
30
|
-
channel3_sdk/_gen/fast_api_client/models/variant.py,sha256=G3T1E5sBZmJb2hYeb9V3ACaUqVBhqX9gRvI_ooHFgVI,1820
|
|
31
|
-
channel3_sdk/_gen/fast_api_client/py.typed,sha256=8ZJUsxZiuOy1oJeVhsTWQhTG_6pTVHVXk5hJL79ebTk,25
|
|
32
|
-
channel3_sdk/_gen/fast_api_client/types.py,sha256=AX4orxQZQJat3vZrgjJ-TYb2sNBL8kNo9yqYDT-n8y8,1391
|
|
33
|
-
channel3_sdk/_gen/pyproject.toml,sha256=m8NKk1ztXdKounkQTmYgzcML-jmumnMdLLielJAam0k,544
|
|
34
|
-
channel3_sdk/client.py,sha256=5yJJiucJiTl-BV_zKaGch57OQSpIEJjWD5TPHaaapl4,13658
|
|
35
|
-
channel3_sdk/exceptions.py,sha256=5HJgrhir4-_b4XKyWAB9qp-CjVZeigXSkyM9fbcB1IA,1044
|
|
36
|
-
channel3_sdk-1.0.0.dist-info/METADATA,sha256=WGfNoiIoxP86MfoglDbOJofwBlLkzhcidBj91Bg1vL8,9028
|
|
37
|
-
channel3_sdk-1.0.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
38
|
-
channel3_sdk-1.0.0.dist-info/RECORD,,
|