python-amazon-paapi 7.0.0__py3-none-any.whl → 7.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.
- amazon_creatorsapi/aio/api.py +5 -3
- amazon_creatorsapi/aio/auth.py +13 -5
- amazon_creatorsapi/aio/client.py +9 -5
- amazon_creatorsapi/aio/timeouts.py +49 -0
- amazon_creatorsapi/api.py +5 -3
- amazon_creatorsapi/core/auth.py +9 -3
- amazon_creatorsapi/core/constants.py +20 -1
- amazon_creatorsapi/core/validation.py +31 -4
- {python_amazon_paapi-7.0.0.dist-info → python_amazon_paapi-7.1.0.dist-info}/METADATA +16 -3
- {python_amazon_paapi-7.0.0.dist-info → python_amazon_paapi-7.1.0.dist-info}/RECORD +12 -11
- {python_amazon_paapi-7.0.0.dist-info → python_amazon_paapi-7.1.0.dist-info}/WHEEL +0 -0
- {python_amazon_paapi-7.0.0.dist-info → python_amazon_paapi-7.1.0.dist-info}/licenses/LICENSE +0 -0
amazon_creatorsapi/aio/api.py
CHANGED
|
@@ -87,6 +87,7 @@ from creatorsapi_python_sdk.models.search_items_resource import SearchItemsResou
|
|
|
87
87
|
if TYPE_CHECKING:
|
|
88
88
|
from types import TracebackType
|
|
89
89
|
|
|
90
|
+
from amazon_creatorsapi.core.constants import TimeoutValue
|
|
90
91
|
from amazon_creatorsapi.core.marketplaces import CountryCode
|
|
91
92
|
from creatorsapi_python_sdk.models.availability import Availability
|
|
92
93
|
from creatorsapi_python_sdk.models.condition import Condition
|
|
@@ -168,8 +169,9 @@ class AsyncAmazonCreatorsApi:
|
|
|
168
169
|
country: Country code (e.g., "ES", "US"). Used to determine marketplace.
|
|
169
170
|
marketplace: Marketplace URL (e.g., "www.amazon.es"). Overrides country.
|
|
170
171
|
throttling: Wait time in seconds between API calls. Defaults to 1 second.
|
|
171
|
-
timeout: Request timeout in seconds,
|
|
172
|
-
|
|
172
|
+
timeout: Request timeout in seconds, a pair of ``(connect, read)``
|
|
173
|
+
seconds bounding each leg on its own, or None to wait
|
|
174
|
+
indefinitely. Defaults to 5 seconds to connect and 25 to read.
|
|
173
175
|
retries: Extra attempts for the failures that Amazon asks to retry,
|
|
174
176
|
waiting longer before every attempt. Defaults to 3.
|
|
175
177
|
host: Base URL of the API. Defaults to the Amazon Creators API.
|
|
@@ -196,7 +198,7 @@ class AsyncAmazonCreatorsApi:
|
|
|
196
198
|
country: CountryCode | None = None,
|
|
197
199
|
marketplace: str | None = None,
|
|
198
200
|
throttling: float = DEFAULT_THROTTLING,
|
|
199
|
-
timeout:
|
|
201
|
+
timeout: TimeoutValue | None = DEFAULT_TIMEOUT,
|
|
200
202
|
retries: int = DEFAULT_RETRIES,
|
|
201
203
|
host: str = DEFAULT_HOST,
|
|
202
204
|
auth_endpoint: str | None = None,
|
amazon_creatorsapi/aio/auth.py
CHANGED
|
@@ -7,8 +7,9 @@ from __future__ import annotations
|
|
|
7
7
|
|
|
8
8
|
import asyncio
|
|
9
9
|
import time
|
|
10
|
-
from typing import Any
|
|
10
|
+
from typing import TYPE_CHECKING, Any
|
|
11
11
|
|
|
12
|
+
from amazon_creatorsapi.aio.timeouts import build_httpx_timeout
|
|
12
13
|
from amazon_creatorsapi.core.constants import DEFAULT_TIMEOUT, HTTP_OK
|
|
13
14
|
from amazon_creatorsapi.core.oauth import (
|
|
14
15
|
COGNITO_SCOPE,
|
|
@@ -23,6 +24,9 @@ from amazon_creatorsapi.core.oauth import (
|
|
|
23
24
|
)
|
|
24
25
|
from amazon_creatorsapi.errors import AuthenticationError
|
|
25
26
|
|
|
27
|
+
if TYPE_CHECKING:
|
|
28
|
+
from amazon_creatorsapi.core.constants import TimeoutValue
|
|
29
|
+
|
|
26
30
|
try:
|
|
27
31
|
import httpx
|
|
28
32
|
except ImportError as exc: # pragma: no cover
|
|
@@ -61,8 +65,10 @@ class AsyncOAuth2TokenManager:
|
|
|
61
65
|
credential_secret: OAuth2 credential secret.
|
|
62
66
|
version: API version (determines auth endpoint).
|
|
63
67
|
auth_endpoint: Optional custom auth endpoint URL.
|
|
64
|
-
timeout: Token request timeout in seconds,
|
|
65
|
-
|
|
68
|
+
timeout: Token request timeout in seconds, a pair of
|
|
69
|
+
``(connect, read)`` seconds bounding each leg on its own, or None
|
|
70
|
+
to wait indefinitely. Defaults to 5 seconds to connect and
|
|
71
|
+
25 to read.
|
|
66
72
|
|
|
67
73
|
"""
|
|
68
74
|
|
|
@@ -72,7 +78,7 @@ class AsyncOAuth2TokenManager:
|
|
|
72
78
|
credential_secret: str,
|
|
73
79
|
version: str,
|
|
74
80
|
auth_endpoint: str | None = None,
|
|
75
|
-
timeout:
|
|
81
|
+
timeout: TimeoutValue | None = DEFAULT_TIMEOUT,
|
|
76
82
|
) -> None:
|
|
77
83
|
"""Initialize the async OAuth2 token manager."""
|
|
78
84
|
self._credential_id = credential_id
|
|
@@ -189,7 +195,9 @@ class AsyncOAuth2TokenManager:
|
|
|
189
195
|
}
|
|
190
196
|
|
|
191
197
|
try:
|
|
192
|
-
async with httpx.AsyncClient(
|
|
198
|
+
async with httpx.AsyncClient(
|
|
199
|
+
timeout=build_httpx_timeout(self._timeout),
|
|
200
|
+
) as client:
|
|
193
201
|
if self.is_lwa():
|
|
194
202
|
response = await client.post(
|
|
195
203
|
self._auth_endpoint,
|
amazon_creatorsapi/aio/client.py
CHANGED
|
@@ -12,11 +12,14 @@ from typing import TYPE_CHECKING, Any
|
|
|
12
12
|
|
|
13
13
|
from typing_extensions import Self
|
|
14
14
|
|
|
15
|
+
from amazon_creatorsapi.aio.timeouts import build_httpx_timeout
|
|
15
16
|
from amazon_creatorsapi.core.constants import DEFAULT_TIMEOUT
|
|
16
17
|
|
|
17
18
|
if TYPE_CHECKING:
|
|
18
19
|
from types import TracebackType
|
|
19
20
|
|
|
21
|
+
from amazon_creatorsapi.core.constants import TimeoutValue
|
|
22
|
+
|
|
20
23
|
try:
|
|
21
24
|
import httpx
|
|
22
25
|
except ImportError as exc: # pragma: no cover
|
|
@@ -65,15 +68,16 @@ class AsyncHttpClient:
|
|
|
65
68
|
|
|
66
69
|
Args:
|
|
67
70
|
host: Base URL for API requests. Defaults to Amazon Creators API.
|
|
68
|
-
timeout: Request timeout in seconds,
|
|
69
|
-
|
|
71
|
+
timeout: Request timeout in seconds, a pair of ``(connect, read)``
|
|
72
|
+
seconds bounding each leg on its own, or None to wait
|
|
73
|
+
indefinitely. Defaults to 5 seconds to connect and 25 to read.
|
|
70
74
|
|
|
71
75
|
"""
|
|
72
76
|
|
|
73
77
|
def __init__(
|
|
74
78
|
self,
|
|
75
79
|
host: str = DEFAULT_HOST,
|
|
76
|
-
timeout:
|
|
80
|
+
timeout: TimeoutValue | None = DEFAULT_TIMEOUT,
|
|
77
81
|
) -> None:
|
|
78
82
|
"""Initialize the async HTTP client."""
|
|
79
83
|
self._host = host
|
|
@@ -85,7 +89,7 @@ class AsyncHttpClient:
|
|
|
85
89
|
"""Enter async context manager, creating a persistent client."""
|
|
86
90
|
self._client = httpx.AsyncClient(
|
|
87
91
|
base_url=self._host,
|
|
88
|
-
timeout=self._timeout,
|
|
92
|
+
timeout=build_httpx_timeout(self._timeout),
|
|
89
93
|
headers={"User-Agent": USER_AGENT},
|
|
90
94
|
)
|
|
91
95
|
self._owns_client = True
|
|
@@ -134,7 +138,7 @@ class AsyncHttpClient:
|
|
|
134
138
|
# Create a new client for this request (standalone mode)
|
|
135
139
|
async with httpx.AsyncClient(
|
|
136
140
|
base_url=self._host,
|
|
137
|
-
timeout=self._timeout,
|
|
141
|
+
timeout=build_httpx_timeout(self._timeout),
|
|
138
142
|
) as client:
|
|
139
143
|
response = await client.post(
|
|
140
144
|
path,
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"""Conversion of the timeout values into the ones httpx understands.
|
|
2
|
+
|
|
3
|
+
It lives here rather than next to the values themselves because httpx is an
|
|
4
|
+
optional dependency, and the synchronous client must keep importing without
|
|
5
|
+
it.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
from typing import TYPE_CHECKING
|
|
11
|
+
|
|
12
|
+
if TYPE_CHECKING:
|
|
13
|
+
from amazon_creatorsapi.core.constants import TimeoutValue
|
|
14
|
+
|
|
15
|
+
try:
|
|
16
|
+
import httpx
|
|
17
|
+
except ImportError as exc: # pragma: no cover
|
|
18
|
+
msg = (
|
|
19
|
+
"httpx is required for async support. "
|
|
20
|
+
"Install it with: pip install python-amazon-paapi[async]"
|
|
21
|
+
)
|
|
22
|
+
raise ImportError(msg) from exc
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def build_httpx_timeout(
|
|
26
|
+
timeout: TimeoutValue | None,
|
|
27
|
+
) -> float | httpx.Timeout | None:
|
|
28
|
+
"""Return the timeout to hand to httpx for a value the clients accept.
|
|
29
|
+
|
|
30
|
+
A pair is the only value httpx needs help with. Everything else is passed
|
|
31
|
+
through as it is, so httpx keeps reading it exactly as it did before pairs
|
|
32
|
+
were accepted.
|
|
33
|
+
|
|
34
|
+
Args:
|
|
35
|
+
timeout: Seconds for the whole request, ``(connect, read)`` seconds
|
|
36
|
+
per leg, or None to wait indefinitely.
|
|
37
|
+
|
|
38
|
+
Returns:
|
|
39
|
+
The seconds, the httpx timeout built from the pair, or None to wait
|
|
40
|
+
indefinitely.
|
|
41
|
+
|
|
42
|
+
"""
|
|
43
|
+
if not isinstance(timeout, tuple):
|
|
44
|
+
return timeout
|
|
45
|
+
connect, read = timeout
|
|
46
|
+
# httpx reads a pair as (connect, read, write, pool) and leaves the two it
|
|
47
|
+
# does not find unbounded, which would drop a timeout that the single
|
|
48
|
+
# value form applies. The read value covers them instead.
|
|
49
|
+
return httpx.Timeout(connect=connect, read=read, write=read, pool=read)
|
amazon_creatorsapi/api.py
CHANGED
|
@@ -77,6 +77,7 @@ from creatorsapi_python_sdk.models.search_items_resource import SearchItemsResou
|
|
|
77
77
|
if TYPE_CHECKING:
|
|
78
78
|
from types import TracebackType
|
|
79
79
|
|
|
80
|
+
from amazon_creatorsapi.core.constants import TimeoutValue
|
|
80
81
|
from amazon_creatorsapi.core.marketplaces import CountryCode
|
|
81
82
|
from creatorsapi_python_sdk.models.availability import Availability
|
|
82
83
|
from creatorsapi_python_sdk.models.browse_node import BrowseNode
|
|
@@ -109,8 +110,9 @@ class AmazonCreatorsApi:
|
|
|
109
110
|
country: Country code (e.g., "ES", "US"). Used to determine marketplace.
|
|
110
111
|
marketplace: Marketplace URL (e.g., "www.amazon.es"). Overrides country.
|
|
111
112
|
throttling: Wait time in seconds between API calls. Defaults to 1 second.
|
|
112
|
-
timeout: Request timeout in seconds,
|
|
113
|
-
|
|
113
|
+
timeout: Request timeout in seconds, a pair of ``(connect, read)``
|
|
114
|
+
seconds bounding each leg on its own, or None to wait
|
|
115
|
+
indefinitely. Defaults to 5 seconds to connect and 25 to read.
|
|
114
116
|
retries: Extra attempts for the failures that Amazon asks to retry,
|
|
115
117
|
waiting longer before every attempt. Defaults to 3.
|
|
116
118
|
host: Base URL of the API. Defaults to the Amazon Creators API.
|
|
@@ -151,7 +153,7 @@ class AmazonCreatorsApi:
|
|
|
151
153
|
country: CountryCode | None = None,
|
|
152
154
|
marketplace: str | None = None,
|
|
153
155
|
throttling: float = DEFAULT_THROTTLING,
|
|
154
|
-
timeout:
|
|
156
|
+
timeout: TimeoutValue | None = DEFAULT_TIMEOUT,
|
|
155
157
|
retries: int = DEFAULT_RETRIES,
|
|
156
158
|
host: str = DEFAULT_HOST,
|
|
157
159
|
auth_endpoint: str | None = None,
|
amazon_creatorsapi/core/auth.py
CHANGED
|
@@ -14,6 +14,7 @@ from amazon_creatorsapi.errors import AuthenticationError
|
|
|
14
14
|
from creatorsapi_python_sdk.auth.oauth2_token_manager import OAuth2TokenManager
|
|
15
15
|
|
|
16
16
|
if TYPE_CHECKING:
|
|
17
|
+
from amazon_creatorsapi.core.constants import TimeoutValue
|
|
17
18
|
from creatorsapi_python_sdk.auth.oauth2_config import OAuth2Config
|
|
18
19
|
|
|
19
20
|
|
|
@@ -28,12 +29,17 @@ class TimeoutOAuth2TokenManager(OAuth2TokenManager):
|
|
|
28
29
|
|
|
29
30
|
Args:
|
|
30
31
|
config: OAuth2 configuration with the credentials and the endpoint.
|
|
31
|
-
timeout: Token request timeout in seconds,
|
|
32
|
-
|
|
32
|
+
timeout: Token request timeout in seconds, a pair of
|
|
33
|
+
``(connect, read)`` seconds bounding each leg on its own, or None
|
|
34
|
+
to wait indefinitely.
|
|
33
35
|
|
|
34
36
|
"""
|
|
35
37
|
|
|
36
|
-
def __init__(
|
|
38
|
+
def __init__(
|
|
39
|
+
self,
|
|
40
|
+
config: OAuth2Config,
|
|
41
|
+
timeout: TimeoutValue | None,
|
|
42
|
+
) -> None:
|
|
37
43
|
"""Initialize the token manager with its timeout."""
|
|
38
44
|
super().__init__(config)
|
|
39
45
|
self._timeout = timeout
|
|
@@ -1,8 +1,27 @@
|
|
|
1
1
|
"""Constants for the Amazon Creators API."""
|
|
2
2
|
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Union
|
|
6
|
+
|
|
7
|
+
TimeoutValue = Union[float, "tuple[float, float]"]
|
|
8
|
+
"""Seconds for the whole request, or ``(connect, read)`` seconds per leg.
|
|
9
|
+
|
|
10
|
+
The pair matters for a host that resolves to several addresses: the connect
|
|
11
|
+
leg is spent once per address, so a single value generous enough to read a
|
|
12
|
+
slow response is also spent on every address that fails to answer.
|
|
13
|
+
"""
|
|
14
|
+
|
|
3
15
|
DEFAULT_HOST = "https://creatorsapi.amazon"
|
|
4
16
|
DEFAULT_THROTTLING = 1
|
|
5
|
-
|
|
17
|
+
# Connect and read seconds, rather than one value covering both. The connect
|
|
18
|
+
# leg is spent once per address the host resolves to, so a single value
|
|
19
|
+
# generous enough to read a slow response is also spent on every address that
|
|
20
|
+
# fails to answer: at 30 seconds, a host resolving to four addresses takes two
|
|
21
|
+
# minutes to give up. The two add up to the 30 seconds this has always
|
|
22
|
+
# documented, and a connection that takes longer than five seconds to
|
|
23
|
+
# establish is not one that a longer wait rescues.
|
|
24
|
+
DEFAULT_TIMEOUT = (5.0, 25.0)
|
|
6
25
|
|
|
7
26
|
# Maximum amount of item identifiers accepted in a single request
|
|
8
27
|
MAX_ITEMS_PER_REQUEST = 10
|
|
@@ -10,6 +10,7 @@ from amazon_creatorsapi.core.marketplaces import MARKETPLACES
|
|
|
10
10
|
from amazon_creatorsapi.errors import InvalidArgumentError
|
|
11
11
|
|
|
12
12
|
if TYPE_CHECKING:
|
|
13
|
+
from amazon_creatorsapi.core.constants import TimeoutValue
|
|
13
14
|
from amazon_creatorsapi.core.marketplaces import CountryCode
|
|
14
15
|
|
|
15
16
|
RequestT = TypeVar("RequestT", bound=BaseModel)
|
|
@@ -44,21 +45,47 @@ def validate_and_get_marketplace(
|
|
|
44
45
|
raise InvalidArgumentError(msg)
|
|
45
46
|
|
|
46
47
|
|
|
47
|
-
def validate_timeout(timeout:
|
|
48
|
+
def validate_timeout(timeout: TimeoutValue | None) -> TimeoutValue | None:
|
|
48
49
|
"""Validate the request timeout value.
|
|
49
50
|
|
|
50
51
|
Args:
|
|
51
|
-
timeout: Request timeout in seconds,
|
|
52
|
+
timeout: Request timeout in seconds, a pair of ``(connect, read)``
|
|
53
|
+
seconds bounding each leg on its own, or None to wait
|
|
54
|
+
indefinitely.
|
|
52
55
|
|
|
53
56
|
Returns:
|
|
54
|
-
The timeout as a float, or None when disabled.
|
|
57
|
+
The timeout as a float, as a pair of floats, or None when disabled.
|
|
55
58
|
|
|
56
59
|
Raises:
|
|
57
|
-
InvalidArgumentError: If
|
|
60
|
+
InvalidArgumentError: If a timeout is not greater than zero, or if a
|
|
61
|
+
pair does not hold exactly two of them.
|
|
58
62
|
|
|
59
63
|
"""
|
|
60
64
|
if timeout is None:
|
|
61
65
|
return None
|
|
66
|
+
if not isinstance(timeout, tuple):
|
|
67
|
+
return _validate_seconds(timeout)
|
|
68
|
+
try:
|
|
69
|
+
connect, read = timeout
|
|
70
|
+
except ValueError as error:
|
|
71
|
+
msg = f"Timeout must be a pair of (connect, read) seconds: {timeout!r}"
|
|
72
|
+
raise InvalidArgumentError(msg) from error
|
|
73
|
+
return _validate_seconds(connect), _validate_seconds(read)
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
def _validate_seconds(timeout: float) -> float:
|
|
77
|
+
"""Validate a number of seconds used as a timeout.
|
|
78
|
+
|
|
79
|
+
Args:
|
|
80
|
+
timeout: Timeout in seconds, whether on its own or one leg of a pair.
|
|
81
|
+
|
|
82
|
+
Returns:
|
|
83
|
+
The timeout as a float.
|
|
84
|
+
|
|
85
|
+
Raises:
|
|
86
|
+
InvalidArgumentError: If it is not a number greater than zero.
|
|
87
|
+
|
|
88
|
+
"""
|
|
62
89
|
try:
|
|
63
90
|
value = float(timeout)
|
|
64
91
|
except (TypeError, ValueError) as error:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: python-amazon-paapi
|
|
3
|
-
Version: 7.
|
|
3
|
+
Version: 7.1.0
|
|
4
4
|
Summary: Amazon Creators API wrapper for Python
|
|
5
5
|
Project-URL: Homepage, https://github.com/sergioteula/python-amazon-paapi
|
|
6
6
|
Project-URL: Repository, https://github.com/sergioteula/python-amazon-paapi
|
|
@@ -260,8 +260,11 @@ The interval is kept per client and is safe to share between threads.
|
|
|
260
260
|
|
|
261
261
|
### Timeout
|
|
262
262
|
|
|
263
|
-
Timeout value represents the number of seconds to wait for a response before failing
|
|
264
|
-
|
|
263
|
+
Timeout value represents the number of seconds to wait for a response before failing.
|
|
264
|
+
Use `None` to wait indefinitely.
|
|
265
|
+
|
|
266
|
+
The default is `(5, 25)`: five seconds to establish the connection and twenty-five to
|
|
267
|
+
read the response, thirty in total.
|
|
265
268
|
|
|
266
269
|
```python
|
|
267
270
|
api = AmazonCreatorsApi(ID, SECRET, VERSION, TAG, COUNTRY, timeout=10) # Fails after 10 seconds
|
|
@@ -270,6 +273,16 @@ api = AmazonCreatorsApi(ID, SECRET, VERSION, TAG, COUNTRY, timeout=0.5) # Fails
|
|
|
270
273
|
|
|
271
274
|
It applies to every API request, including the OAuth2 token refresh.
|
|
272
275
|
|
|
276
|
+
A pair of `(connect, read)` seconds bounds each leg of the request on its own. This
|
|
277
|
+
matters for a host resolving to several addresses: the connect leg is spent once per
|
|
278
|
+
address, so a single value generous enough to read a slow response is also spent on
|
|
279
|
+
every address that fails to answer.
|
|
280
|
+
|
|
281
|
+
```python
|
|
282
|
+
# Gives up on an unresponsive address after 1 second, and still reads for 10
|
|
283
|
+
api = AmazonCreatorsApi(ID, SECRET, VERSION, TAG, COUNTRY, timeout=(1, 10))
|
|
284
|
+
```
|
|
285
|
+
|
|
273
286
|
### Retries
|
|
274
287
|
|
|
275
288
|
Amazon asks clients to back off and try again when it throttles a request or fails to
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
amazon_creatorsapi/__init__.py,sha256=Ioi8TxeQHQHrlNsFhYW0nRZIeodXg2N5xZXQEXKz4jc,298
|
|
2
|
-
amazon_creatorsapi/api.py,sha256=
|
|
2
|
+
amazon_creatorsapi/api.py,sha256=ZSfDT7MNYvFpL4bg-hlNyZqEXvVdjidHKSo7zbGzhp4,26404
|
|
3
3
|
amazon_creatorsapi/errors.py,sha256=C7ddKHbMGjdaXEVAg1iDjPEyolpzxGx30tafgk8OcGo,1613
|
|
4
4
|
amazon_creatorsapi/models.py,sha256=u9MYkNUHyWt0J_eHb0HO4rPb8Gqbjczyqv33NXJ79_c,5975
|
|
5
5
|
amazon_creatorsapi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
6
|
amazon_creatorsapi/aio/__init__.py,sha256=Z76dMFKs0vPZakdXxoGq2dsWmkx-tUkx88NmHBq1DHU,398
|
|
7
|
-
amazon_creatorsapi/aio/api.py,sha256=
|
|
8
|
-
amazon_creatorsapi/aio/auth.py,sha256=
|
|
9
|
-
amazon_creatorsapi/aio/client.py,sha256=
|
|
7
|
+
amazon_creatorsapi/aio/api.py,sha256=1idnlUz1EiHYgfLvuwehIWgKb2CP-kOV6RiKXF5J5Hc,30952
|
|
8
|
+
amazon_creatorsapi/aio/auth.py,sha256=Unkr9LgaE30o9inTkl1271sI34cFVD1b6E2wG14ncSI,8616
|
|
9
|
+
amazon_creatorsapi/aio/client.py,sha256=ASPjzFG_e2L1La0U3RekiCdZpYgphtuFqssReTH-CFU,4780
|
|
10
|
+
amazon_creatorsapi/aio/timeouts.py,sha256=uHRfF7aBHNyqqGqzrEPXXG5K-VmIVbc7K6QGYFYbN8E,1608
|
|
10
11
|
amazon_creatorsapi/core/__init__.py,sha256=3wb1H-IKqVShgbqfAlF8j5Nl9bIx_UMP2BDvRBvtnEk,146
|
|
11
|
-
amazon_creatorsapi/core/auth.py,sha256=
|
|
12
|
-
amazon_creatorsapi/core/constants.py,sha256=
|
|
12
|
+
amazon_creatorsapi/core/auth.py,sha256=kTzOmrZWhC7ugW-g3DBM_By7vi5qH4AcmgEsYRAkskA,5099
|
|
13
|
+
amazon_creatorsapi/core/constants.py,sha256=jRWAMxYuMbHpFGdjJAq_F6i-7GzpweUxnd88LyiyFeY,1299
|
|
13
14
|
amazon_creatorsapi/core/error_handling.py,sha256=yUBN1S7OAWIO2EYeKdtCiqTpmMkMoBCQobP_T_2nH6E,5830
|
|
14
15
|
amazon_creatorsapi/core/items.py,sha256=iI2wkKr0k73k1tSRz2jSK20bG1h5Or_aesP8rHd0qKY,1968
|
|
15
16
|
amazon_creatorsapi/core/marketplaces.py,sha256=GpoG82iEviC3Po_Hrdywo4Tl_p5F7iktB_CXW9lMDbM,1753
|
|
@@ -19,7 +20,7 @@ amazon_creatorsapi/core/requests.py,sha256=0vBRB0Zl3PdctTqQRW2YaOHjciO9Z9Rsdkmbg
|
|
|
19
20
|
amazon_creatorsapi/core/resources.py,sha256=JoUKfENnyhrksgRYkB-IEdDGLlBf3W_3G04eO0FULJw,558
|
|
20
21
|
amazon_creatorsapi/core/results.py,sha256=HXTJOoP4S2_hzEgTewgKSGk4Hpnc7QNmj73EG37PrAE,1134
|
|
21
22
|
amazon_creatorsapi/core/retry.py,sha256=LGlhd8qCl15HZMJIOnMwps3jg4lZdYtP1foNtcCffFY,2916
|
|
22
|
-
amazon_creatorsapi/core/validation.py,sha256=
|
|
23
|
+
amazon_creatorsapi/core/validation.py,sha256=F4_5woqt5qXWCQIoWZFm2yDzFy4BOjI1l1xnzThkWuY,5629
|
|
23
24
|
creatorsapi_python_sdk/__init__.py,sha256=TGp-BhzlfTVRrvEPUiJ7lmwNwebnRICdxeYcpIFlvSQ,8722
|
|
24
25
|
creatorsapi_python_sdk/api_client.py,sha256=lSQo2r83MXFvPuTD1Zt46MfD7AeE5es5olCIxPS1tzo,32221
|
|
25
26
|
creatorsapi_python_sdk/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
|
|
@@ -125,7 +126,7 @@ creatorsapi_python_sdk/models/variation_summary.py,sha256=98Zl9PmBF1lvd1xqKS3XZl
|
|
|
125
126
|
creatorsapi_python_sdk/models/variation_summary_price.py,sha256=KbXfL21Smb1y9q0yu33t-5IW4FV20roFpiADzsNmx1Y,3533
|
|
126
127
|
creatorsapi_python_sdk/models/variations_result.py,sha256=055KMPzIva1JX2AEV2v-i_yQ0AmkGTB3yFi3vCPqoHU,4113
|
|
127
128
|
creatorsapi_python_sdk/models/website_sales_rank.py,sha256=nSkIVj6quN7ZYu1_A-kMrwmPikvWAZRr5JRmd1ysGnM,3346
|
|
128
|
-
python_amazon_paapi-7.
|
|
129
|
-
python_amazon_paapi-7.
|
|
130
|
-
python_amazon_paapi-7.
|
|
131
|
-
python_amazon_paapi-7.
|
|
129
|
+
python_amazon_paapi-7.1.0.dist-info/METADATA,sha256=EacVxEthhomPBetvMmKBfae_LMTOH-yGhBGMud1BA10,15971
|
|
130
|
+
python_amazon_paapi-7.1.0.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
|
|
131
|
+
python_amazon_paapi-7.1.0.dist-info/licenses/LICENSE,sha256=pA7Z3pwvEEHJgQ2d9o8RTVUMxc_GMJNosLRWVwue7PQ,1068
|
|
132
|
+
python_amazon_paapi-7.1.0.dist-info/RECORD,,
|
|
File without changes
|
{python_amazon_paapi-7.0.0.dist-info → python_amazon_paapi-7.1.0.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|