valentina-python-client 2.4.0__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.0 → valentina_python_client-2.4.2}/PKG-INFO +1 -1
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/pyproject.toml +1 -1
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/__init__.py +4 -1
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/base.py +14 -6
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/base.py +22 -6
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/LICENSE +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/README.md +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_codegen.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/__init__.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/client.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/registry.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/__init__.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/_audit_params.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/campaign_book_chapters.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/campaign_books.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/campaigns.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/character_autogen.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/character_blueprint.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/character_traits.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/characters.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/companies.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/developers.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/dicerolls.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/dictionary.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/global_admin.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/options.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/system.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/user_lookup.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/user_self_registration.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/users.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/testing/__init__.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/testing/_client.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/client.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/config.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/constants.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/endpoints.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/exceptions.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/__init__.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/audit_logs.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/books.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/campaigns.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/chapters.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/character_autogen.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/character_blueprint.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/character_trait.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/characters.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/companies.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/developers.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/diceroll.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/dictionary.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/full_sheet.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/global_admin.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/pagination.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/shared.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/system.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/user_lookup.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/users.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/py.typed +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/registry.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/__init__.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/_audit_params.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/campaign_book_chapters.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/campaign_books.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/campaigns.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/character_autogen.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/character_blueprint.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/character_traits.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/characters.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/companies.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/developers.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/dicerolls.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/dictionary.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/global_admin.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/options.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/system.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/user_lookup.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/user_self_registration.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/users.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/testing/__init__.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/testing/_client.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/testing/_factories.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/testing/_router.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/testing/_routes.py +0 -0
- {valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/validate_constants.py +0 -0
|
@@ -28,6 +28,9 @@ class _PropagateHandler(_logging.Handler):
|
|
|
28
28
|
_logger.add(
|
|
29
29
|
_PropagateHandler(),
|
|
30
30
|
format="{message}",
|
|
31
|
+
# Forward TRACE too (e.g. the "Send request" line) and let the consumer's
|
|
32
|
+
# stdlib logging level decide what to show; the sink must not pre-filter it.
|
|
33
|
+
level="TRACE",
|
|
31
34
|
filter=lambda record: record["name"].startswith("vclient"),
|
|
32
35
|
)
|
|
33
36
|
|
|
@@ -113,4 +116,4 @@ __all__ = (
|
|
|
113
116
|
"users_service",
|
|
114
117
|
)
|
|
115
118
|
|
|
116
|
-
__version__ = "2.4.
|
|
119
|
+
__version__ = "2.4.2"
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/base.py
RENAMED
|
@@ -168,8 +168,8 @@ 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)
|
|
172
|
-
request_logger.
|
|
171
|
+
request_logger = logger.bind(method=method, url=path, params=params)
|
|
172
|
+
request_logger.trace("Send request")
|
|
173
173
|
last_error: RateLimitError | ServerError | None = None
|
|
174
174
|
for attempt in range(max_attempts):
|
|
175
175
|
try:
|
|
@@ -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:
|
|
@@ -243,7 +243,7 @@ class SyncBaseService:
|
|
|
243
243
|
header_request_id = response.headers.get(REQUEST_ID_HEADER)
|
|
244
244
|
if header_request_id:
|
|
245
245
|
success_bind["request_id"] = header_request_id
|
|
246
|
-
request_logger.bind(**success_bind).debug("
|
|
246
|
+
request_logger.bind(**success_bind).debug("Request complete")
|
|
247
247
|
|
|
248
248
|
@staticmethod
|
|
249
249
|
def _inject_request_id_fallback(
|
|
@@ -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.0 → valentina_python_client-2.4.2}/src/vclient/services/base.py
RENAMED
|
@@ -176,9 +176,13 @@ 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
|
|
184
|
+
# "Request complete" DEBUG line below is the superset record for normal use.
|
|
185
|
+
request_logger.trace("Send request")
|
|
182
186
|
|
|
183
187
|
last_error: RateLimitError | ServerError | None = None
|
|
184
188
|
|
|
@@ -209,7 +213,7 @@ class BaseService:
|
|
|
209
213
|
continue
|
|
210
214
|
|
|
211
215
|
try:
|
|
212
|
-
self._raise_for_status(response, method, path)
|
|
216
|
+
self._raise_for_status(response, method, path, params=params)
|
|
213
217
|
self._log_success_response(response, request_logger)
|
|
214
218
|
return response # noqa: TRY300
|
|
215
219
|
except RateLimitError as e:
|
|
@@ -268,7 +272,7 @@ class BaseService:
|
|
|
268
272
|
header_request_id = response.headers.get(REQUEST_ID_HEADER)
|
|
269
273
|
if header_request_id:
|
|
270
274
|
success_bind["request_id"] = header_request_id
|
|
271
|
-
request_logger.bind(**success_bind).debug("
|
|
275
|
+
request_logger.bind(**success_bind).debug("Request complete")
|
|
272
276
|
|
|
273
277
|
@staticmethod
|
|
274
278
|
def _inject_request_id_fallback(
|
|
@@ -285,13 +289,21 @@ class BaseService:
|
|
|
285
289
|
if header_id:
|
|
286
290
|
response_data["request_id"] = header_id
|
|
287
291
|
|
|
288
|
-
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:
|
|
289
299
|
"""Raise appropriate exception for error responses.
|
|
290
300
|
|
|
291
301
|
Args:
|
|
292
302
|
response: The HTTP response to check.
|
|
293
303
|
method: The HTTP method of the request.
|
|
294
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.
|
|
295
307
|
|
|
296
308
|
Raises:
|
|
297
309
|
AuthenticationError: For 401 responses.
|
|
@@ -317,7 +329,11 @@ class BaseService:
|
|
|
317
329
|
self._inject_request_id_fallback(response_data, response)
|
|
318
330
|
|
|
319
331
|
error_logger = logger.bind(
|
|
320
|
-
method=method,
|
|
332
|
+
method=method,
|
|
333
|
+
url=url,
|
|
334
|
+
params=params,
|
|
335
|
+
status=status_code,
|
|
336
|
+
request_id=response_data.get("request_id"),
|
|
321
337
|
)
|
|
322
338
|
|
|
323
339
|
if status_code == 429: # noqa: PLR2004
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/_sync/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{valentina_python_client-2.4.0 → 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.0 → 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.0 → valentina_python_client-2.4.2}/src/vclient/_sync/services/users.py
RENAMED
|
File without changes
|
|
File without changes
|
{valentina_python_client-2.4.0 → 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.0 → valentina_python_client-2.4.2}/src/vclient/models/__init__.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/audit_logs.py
RENAMED
|
File without changes
|
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/campaigns.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → 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.0 → valentina_python_client-2.4.2}/src/vclient/models/characters.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/companies.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/developers.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/diceroll.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/dictionary.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/full_sheet.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/global_admin.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/pagination.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/shared.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/models/system.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → 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.0 → 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.0 → 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.0 → valentina_python_client-2.4.2}/src/vclient/services/characters.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/companies.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/developers.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/dicerolls.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/dictionary.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/global_admin.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/options.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/system.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/user_lookup.py
RENAMED
|
File without changes
|
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/services/users.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/testing/__init__.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/testing/_client.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/testing/_factories.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/testing/_router.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/testing/_routes.py
RENAMED
|
File without changes
|
{valentina_python_client-2.4.0 → valentina_python_client-2.4.2}/src/vclient/validate_constants.py
RENAMED
|
File without changes
|