valentina-python-client 2.4.1__tar.gz → 2.4.2__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.
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/PKG-INFO +1 -1
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/pyproject.toml +1 -1
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/__init__.py +1 -1
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/base.py +12 -4
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/base.py +18 -4
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/LICENSE +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/README.md +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_codegen.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/__init__.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/client.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/registry.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/__init__.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/_audit_params.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/campaign_book_chapters.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/campaign_books.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/campaigns.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/character_autogen.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/character_blueprint.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/character_traits.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/characters.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/companies.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/developers.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/dicerolls.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/dictionary.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/global_admin.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/options.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/system.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/user_lookup.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/user_self_registration.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/users.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/testing/__init__.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/testing/_client.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/client.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/config.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/constants.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/endpoints.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/exceptions.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/__init__.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/audit_logs.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/books.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/campaigns.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/chapters.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/character_autogen.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/character_blueprint.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/character_trait.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/characters.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/companies.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/developers.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/diceroll.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/dictionary.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/full_sheet.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/global_admin.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/pagination.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/shared.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/system.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/user_lookup.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/users.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/py.typed +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/registry.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/__init__.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/_audit_params.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/campaign_book_chapters.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/campaign_books.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/campaigns.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/character_autogen.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/character_blueprint.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/character_traits.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/characters.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/companies.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/developers.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/dicerolls.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/dictionary.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/global_admin.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/options.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/system.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/user_lookup.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/user_self_registration.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/users.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/testing/__init__.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/testing/_client.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/testing/_factories.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/testing/_router.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/testing/_routes.py +0 -0
- {valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/validate_constants.py +0 -0
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/base.py
RENAMED
|
@@ -168,7 +168,7 @@ class SyncBaseService:
|
|
|
168
168
|
config = self._client._config
|
|
169
169
|
max_attempts = config.max_retries + 1 if config.auto_retry_rate_limit else 1
|
|
170
170
|
retry_statuses = config.retry_statuses
|
|
171
|
-
request_logger = logger.bind(method=method, url=path)
|
|
171
|
+
request_logger = logger.bind(method=method, url=path, params=params)
|
|
172
172
|
request_logger.trace("Send request")
|
|
173
173
|
last_error: RateLimitError | ServerError | None = None
|
|
174
174
|
for attempt in range(max_attempts):
|
|
@@ -196,7 +196,7 @@ class SyncBaseService:
|
|
|
196
196
|
time.sleep(delay)
|
|
197
197
|
continue
|
|
198
198
|
try:
|
|
199
|
-
self._raise_for_status(response, method, path)
|
|
199
|
+
self._raise_for_status(response, method, path, params=params)
|
|
200
200
|
self._log_success_response(response, request_logger)
|
|
201
201
|
return response
|
|
202
202
|
except RateLimitError as e:
|
|
@@ -260,13 +260,17 @@ class SyncBaseService:
|
|
|
260
260
|
if header_id:
|
|
261
261
|
response_data["request_id"] = header_id
|
|
262
262
|
|
|
263
|
-
def _raise_for_status(
|
|
263
|
+
def _raise_for_status(
|
|
264
|
+
self, response: httpx.Response, method: str, url: str, params: dict[str, Any] | None = None
|
|
265
|
+
) -> None:
|
|
264
266
|
"""Raise appropriate exception for error responses.
|
|
265
267
|
|
|
266
268
|
Args:
|
|
267
269
|
response: The HTTP response to check.
|
|
268
270
|
method: The HTTP method of the request.
|
|
269
271
|
url: The URL path of the request.
|
|
272
|
+
params: The query parameters of the request, logged to disambiguate
|
|
273
|
+
paginated calls that share the same path.
|
|
270
274
|
|
|
271
275
|
Raises:
|
|
272
276
|
AuthenticationError: For 401 responses.
|
|
@@ -289,7 +293,11 @@ class SyncBaseService:
|
|
|
289
293
|
message = response.text or f"HTTP {status_code}"
|
|
290
294
|
self._inject_request_id_fallback(response_data, response)
|
|
291
295
|
error_logger = logger.bind(
|
|
292
|
-
method=method,
|
|
296
|
+
method=method,
|
|
297
|
+
url=url,
|
|
298
|
+
params=params,
|
|
299
|
+
status=status_code,
|
|
300
|
+
request_id=response_data.get("request_id"),
|
|
293
301
|
)
|
|
294
302
|
if status_code == 429:
|
|
295
303
|
retry_after = self._parse_retry_after(response)
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/base.py
RENAMED
|
@@ -176,7 +176,9 @@ class BaseService:
|
|
|
176
176
|
config = self._client._config # noqa: SLF001
|
|
177
177
|
max_attempts = config.max_retries + 1 if config.auto_retry_rate_limit else 1
|
|
178
178
|
retry_statuses = config.retry_statuses
|
|
179
|
-
|
|
179
|
+
# Bind params so paginated requests are distinguishable in logs; without
|
|
180
|
+
# limit/offset, identical paths look like duplicate (thundering-herd) calls.
|
|
181
|
+
request_logger = logger.bind(method=method, url=path, params=params)
|
|
180
182
|
|
|
181
183
|
# TRACE so the in-flight request is visible only when diagnosing hangs; the
|
|
182
184
|
# "Request complete" DEBUG line below is the superset record for normal use.
|
|
@@ -211,7 +213,7 @@ class BaseService:
|
|
|
211
213
|
continue
|
|
212
214
|
|
|
213
215
|
try:
|
|
214
|
-
self._raise_for_status(response, method, path)
|
|
216
|
+
self._raise_for_status(response, method, path, params=params)
|
|
215
217
|
self._log_success_response(response, request_logger)
|
|
216
218
|
return response # noqa: TRY300
|
|
217
219
|
except RateLimitError as e:
|
|
@@ -287,13 +289,21 @@ class BaseService:
|
|
|
287
289
|
if header_id:
|
|
288
290
|
response_data["request_id"] = header_id
|
|
289
291
|
|
|
290
|
-
def _raise_for_status(
|
|
292
|
+
def _raise_for_status(
|
|
293
|
+
self,
|
|
294
|
+
response: httpx.Response,
|
|
295
|
+
method: str,
|
|
296
|
+
url: str,
|
|
297
|
+
params: dict[str, Any] | None = None,
|
|
298
|
+
) -> None:
|
|
291
299
|
"""Raise appropriate exception for error responses.
|
|
292
300
|
|
|
293
301
|
Args:
|
|
294
302
|
response: The HTTP response to check.
|
|
295
303
|
method: The HTTP method of the request.
|
|
296
304
|
url: The URL path of the request.
|
|
305
|
+
params: The query parameters of the request, logged to disambiguate
|
|
306
|
+
paginated calls that share the same path.
|
|
297
307
|
|
|
298
308
|
Raises:
|
|
299
309
|
AuthenticationError: For 401 responses.
|
|
@@ -319,7 +329,11 @@ class BaseService:
|
|
|
319
329
|
self._inject_request_id_fallback(response_data, response)
|
|
320
330
|
|
|
321
331
|
error_logger = logger.bind(
|
|
322
|
-
method=method,
|
|
332
|
+
method=method,
|
|
333
|
+
url=url,
|
|
334
|
+
params=params,
|
|
335
|
+
status=status_code,
|
|
336
|
+
request_id=response_data.get("request_id"),
|
|
323
337
|
)
|
|
324
338
|
|
|
325
339
|
if status_code == 429: # noqa: PLR2004
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/registry.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
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/system.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/services/users.py
RENAMED
|
File without changes
|
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/_sync/testing/_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/__init__.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/audit_logs.py
RENAMED
|
File without changes
|
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/campaigns.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/chapters.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/characters.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/companies.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/developers.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/diceroll.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/dictionary.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/full_sheet.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/global_admin.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/pagination.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/shared.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/system.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/models/user_lookup.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/campaigns.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/characters.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/companies.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/developers.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/dicerolls.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/dictionary.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/global_admin.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/options.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/system.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/user_lookup.py
RENAMED
|
File without changes
|
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/services/users.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/testing/__init__.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/testing/_client.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/testing/_factories.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/testing/_router.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/testing/_routes.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.1 → valentina_python_client-2.4.2}/src/vclient/validate_constants.py
RENAMED
|
File without changes
|