codeset 0.1.0a4__tar.gz → 0.1.0a6__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 codeset might be problematic. Click here for more details.
- codeset-0.1.0a6/.release-please-manifest.json +3 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/CHANGELOG.md +16 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/PKG-INFO +4 -4
- {codeset-0.1.0a4 → codeset-0.1.0a6}/README.md +3 -3
- {codeset-0.1.0a4 → codeset-0.1.0a6}/pyproject.toml +1 -1
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_constants.py +5 -5
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_version.py +1 -1
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/resources/sessions/sessions.py +8 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/types/session_create_params.py +3 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/api_resources/test_sessions.py +8 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/test_client.py +28 -28
- codeset-0.1.0a4/.release-please-manifest.json +0 -3
- {codeset-0.1.0a4 → codeset-0.1.0a6}/.gitignore +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/CONTRIBUTING.md +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/LICENSE +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/SECURITY.md +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/api.md +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/bin/check-release-environment +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/bin/publish-pypi +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/examples/.keep +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/mypy.ini +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/noxfile.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/release-please-config.json +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/requirements-dev.lock +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/requirements.lock +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/__init__.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_base_client.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_client.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_compat.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_exceptions.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_files.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_models.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_qs.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_resource.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_response.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_streaming.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_types.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_utils/__init__.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_utils/_logs.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_utils/_proxy.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_utils/_reflection.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_utils/_resources_proxy.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_utils/_streams.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_utils/_sync.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_utils/_transform.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_utils/_typing.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/_utils/_utils.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/lib/.keep +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/py.typed +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/resources/__init__.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/resources/health.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/resources/samples.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/resources/sessions/__init__.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/resources/sessions/verify.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/types/__init__.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/types/container_info.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/types/error_info.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/types/health_check_response.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/types/sample_download_params.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/types/sample_list_response.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/types/session.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/types/session_apply_diff_params.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/types/session_apply_diff_response.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/types/session_close_response.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/types/session_create_response.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/types/session_execute_command_params.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/types/session_execute_command_response.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/types/session_list_response.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/types/session_status.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/types/sessions/__init__.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/types/sessions/job_status.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/types/sessions/verify_start_response.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/src/codeset/types/sessions/verify_status_response.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/__init__.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/api_resources/__init__.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/api_resources/sessions/__init__.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/api_resources/sessions/test_verify.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/api_resources/test_health.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/api_resources/test_samples.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/conftest.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/sample_file.txt +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/test_deepcopy.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/test_extract_files.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/test_files.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/test_models.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/test_qs.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/test_required_args.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/test_response.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/test_streaming.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/test_transform.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/test_utils/test_proxy.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/test_utils/test_typing.py +0 -0
- {codeset-0.1.0a4 → codeset-0.1.0a6}/tests/utils.py +0 -0
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.0-alpha.6 (2025-07-01)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.1.0-alpha.5...v0.1.0-alpha.6](https://github.com/codeset-ai/codeset-sdk/compare/v0.1.0-alpha.5...v0.1.0-alpha.6)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([e5c853d](https://github.com/codeset-ai/codeset-sdk/commit/e5c853d0c2dbb936a630f1dada9e963cb0b540e0))
|
|
10
|
+
|
|
11
|
+
## 0.1.0-alpha.5 (2025-07-01)
|
|
12
|
+
|
|
13
|
+
Full Changelog: [v0.1.0-alpha.4...v0.1.0-alpha.5](https://github.com/codeset-ai/codeset-sdk/compare/v0.1.0-alpha.4...v0.1.0-alpha.5)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* **api:** manual updates ([57c47e1](https://github.com/codeset-ai/codeset-sdk/commit/57c47e1c1ac3be473855e7c5f12fef74f582064f))
|
|
18
|
+
|
|
3
19
|
## 0.1.0-alpha.4 (2025-06-30)
|
|
4
20
|
|
|
5
21
|
Full Changelog: [v0.1.0-alpha.3...v0.1.0-alpha.4](https://github.com/codeset-ai/codeset-sdk/compare/v0.1.0-alpha.3...v0.1.0-alpha.4)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: codeset
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.0a6
|
|
4
4
|
Summary: The official Python library for the codeset API
|
|
5
5
|
Project-URL: Homepage, https://github.com/codeset-ai/codeset-sdk
|
|
6
6
|
Project-URL: Repository, https://github.com/codeset-ai/codeset-sdk
|
|
@@ -182,7 +182,7 @@ Error codes are as follows:
|
|
|
182
182
|
|
|
183
183
|
### Retries
|
|
184
184
|
|
|
185
|
-
Certain errors are automatically retried
|
|
185
|
+
Certain errors are automatically retried 0 times by default, with a short exponential backoff.
|
|
186
186
|
Connection errors (for example, due to a network connectivity problem), 408 Request Timeout, 409 Conflict,
|
|
187
187
|
429 Rate Limit, and >=500 Internal errors are all retried by default.
|
|
188
188
|
|
|
@@ -203,7 +203,7 @@ client.with_options(max_retries=5).health.check()
|
|
|
203
203
|
|
|
204
204
|
### Timeouts
|
|
205
205
|
|
|
206
|
-
By default requests time out after
|
|
206
|
+
By default requests time out after 5 minutes. You can configure this with a `timeout` option,
|
|
207
207
|
which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/timeouts/#fine-tuning-the-configuration) object:
|
|
208
208
|
|
|
209
209
|
```python
|
|
@@ -211,7 +211,7 @@ from codeset import Codeset
|
|
|
211
211
|
|
|
212
212
|
# Configure the default for all requests:
|
|
213
213
|
client = Codeset(
|
|
214
|
-
# 20 seconds (default is
|
|
214
|
+
# 20 seconds (default is 5 minutes)
|
|
215
215
|
timeout=20.0,
|
|
216
216
|
)
|
|
217
217
|
|
|
@@ -148,7 +148,7 @@ Error codes are as follows:
|
|
|
148
148
|
|
|
149
149
|
### Retries
|
|
150
150
|
|
|
151
|
-
Certain errors are automatically retried
|
|
151
|
+
Certain errors are automatically retried 0 times by default, with a short exponential backoff.
|
|
152
152
|
Connection errors (for example, due to a network connectivity problem), 408 Request Timeout, 409 Conflict,
|
|
153
153
|
429 Rate Limit, and >=500 Internal errors are all retried by default.
|
|
154
154
|
|
|
@@ -169,7 +169,7 @@ client.with_options(max_retries=5).health.check()
|
|
|
169
169
|
|
|
170
170
|
### Timeouts
|
|
171
171
|
|
|
172
|
-
By default requests time out after
|
|
172
|
+
By default requests time out after 5 minutes. You can configure this with a `timeout` option,
|
|
173
173
|
which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/timeouts/#fine-tuning-the-configuration) object:
|
|
174
174
|
|
|
175
175
|
```python
|
|
@@ -177,7 +177,7 @@ from codeset import Codeset
|
|
|
177
177
|
|
|
178
178
|
# Configure the default for all requests:
|
|
179
179
|
client = Codeset(
|
|
180
|
-
# 20 seconds (default is
|
|
180
|
+
# 20 seconds (default is 5 minutes)
|
|
181
181
|
timeout=20.0,
|
|
182
182
|
)
|
|
183
183
|
|
|
@@ -5,10 +5,10 @@ import httpx
|
|
|
5
5
|
RAW_RESPONSE_HEADER = "X-Stainless-Raw-Response"
|
|
6
6
|
OVERRIDE_CAST_TO_HEADER = "____stainless_override_cast_to"
|
|
7
7
|
|
|
8
|
-
# default timeout is
|
|
9
|
-
DEFAULT_TIMEOUT = httpx.Timeout(timeout=
|
|
10
|
-
DEFAULT_MAX_RETRIES =
|
|
8
|
+
# default timeout is 5 minutes
|
|
9
|
+
DEFAULT_TIMEOUT = httpx.Timeout(timeout=300, connect=5.0)
|
|
10
|
+
DEFAULT_MAX_RETRIES = 0
|
|
11
11
|
DEFAULT_CONNECTION_LIMITS = httpx.Limits(max_connections=100, max_keepalive_connections=20)
|
|
12
12
|
|
|
13
|
-
INITIAL_RETRY_DELAY = 0.
|
|
14
|
-
MAX_RETRY_DELAY =
|
|
13
|
+
INITIAL_RETRY_DELAY = 0.0
|
|
14
|
+
MAX_RETRY_DELAY = 0.0
|
|
@@ -61,6 +61,7 @@ class SessionsResource(SyncAPIResource):
|
|
|
61
61
|
def create(
|
|
62
62
|
self,
|
|
63
63
|
*,
|
|
64
|
+
dataset: str,
|
|
64
65
|
sample_id: str,
|
|
65
66
|
ttl_minutes: int | NotGiven = NOT_GIVEN,
|
|
66
67
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
@@ -74,6 +75,8 @@ class SessionsResource(SyncAPIResource):
|
|
|
74
75
|
Create a new session
|
|
75
76
|
|
|
76
77
|
Args:
|
|
78
|
+
dataset: Dataset name for the sample.
|
|
79
|
+
|
|
77
80
|
sample_id: Identifier of the sample to use for this session.
|
|
78
81
|
|
|
79
82
|
ttl_minutes: Time to live for the session in minutes (default: 30).
|
|
@@ -90,6 +93,7 @@ class SessionsResource(SyncAPIResource):
|
|
|
90
93
|
"/sessions",
|
|
91
94
|
body=maybe_transform(
|
|
92
95
|
{
|
|
96
|
+
"dataset": dataset,
|
|
93
97
|
"sample_id": sample_id,
|
|
94
98
|
"ttl_minutes": ttl_minutes,
|
|
95
99
|
},
|
|
@@ -297,6 +301,7 @@ class AsyncSessionsResource(AsyncAPIResource):
|
|
|
297
301
|
async def create(
|
|
298
302
|
self,
|
|
299
303
|
*,
|
|
304
|
+
dataset: str,
|
|
300
305
|
sample_id: str,
|
|
301
306
|
ttl_minutes: int | NotGiven = NOT_GIVEN,
|
|
302
307
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
@@ -310,6 +315,8 @@ class AsyncSessionsResource(AsyncAPIResource):
|
|
|
310
315
|
Create a new session
|
|
311
316
|
|
|
312
317
|
Args:
|
|
318
|
+
dataset: Dataset name for the sample.
|
|
319
|
+
|
|
313
320
|
sample_id: Identifier of the sample to use for this session.
|
|
314
321
|
|
|
315
322
|
ttl_minutes: Time to live for the session in minutes (default: 30).
|
|
@@ -326,6 +333,7 @@ class AsyncSessionsResource(AsyncAPIResource):
|
|
|
326
333
|
"/sessions",
|
|
327
334
|
body=await async_maybe_transform(
|
|
328
335
|
{
|
|
336
|
+
"dataset": dataset,
|
|
329
337
|
"sample_id": sample_id,
|
|
330
338
|
"ttl_minutes": ttl_minutes,
|
|
331
339
|
},
|
|
@@ -28,6 +28,7 @@ class TestSessions:
|
|
|
28
28
|
@parametrize
|
|
29
29
|
def test_method_create(self, client: Codeset) -> None:
|
|
30
30
|
session = client.sessions.create(
|
|
31
|
+
dataset="dataset",
|
|
31
32
|
sample_id="sample_id",
|
|
32
33
|
)
|
|
33
34
|
assert_matches_type(SessionCreateResponse, session, path=["response"])
|
|
@@ -36,6 +37,7 @@ class TestSessions:
|
|
|
36
37
|
@parametrize
|
|
37
38
|
def test_method_create_with_all_params(self, client: Codeset) -> None:
|
|
38
39
|
session = client.sessions.create(
|
|
40
|
+
dataset="dataset",
|
|
39
41
|
sample_id="sample_id",
|
|
40
42
|
ttl_minutes=0,
|
|
41
43
|
)
|
|
@@ -45,6 +47,7 @@ class TestSessions:
|
|
|
45
47
|
@parametrize
|
|
46
48
|
def test_raw_response_create(self, client: Codeset) -> None:
|
|
47
49
|
response = client.sessions.with_raw_response.create(
|
|
50
|
+
dataset="dataset",
|
|
48
51
|
sample_id="sample_id",
|
|
49
52
|
)
|
|
50
53
|
|
|
@@ -57,6 +60,7 @@ class TestSessions:
|
|
|
57
60
|
@parametrize
|
|
58
61
|
def test_streaming_response_create(self, client: Codeset) -> None:
|
|
59
62
|
with client.sessions.with_streaming_response.create(
|
|
63
|
+
dataset="dataset",
|
|
60
64
|
sample_id="sample_id",
|
|
61
65
|
) as response:
|
|
62
66
|
assert not response.is_closed
|
|
@@ -291,6 +295,7 @@ class TestAsyncSessions:
|
|
|
291
295
|
@parametrize
|
|
292
296
|
async def test_method_create(self, async_client: AsyncCodeset) -> None:
|
|
293
297
|
session = await async_client.sessions.create(
|
|
298
|
+
dataset="dataset",
|
|
294
299
|
sample_id="sample_id",
|
|
295
300
|
)
|
|
296
301
|
assert_matches_type(SessionCreateResponse, session, path=["response"])
|
|
@@ -299,6 +304,7 @@ class TestAsyncSessions:
|
|
|
299
304
|
@parametrize
|
|
300
305
|
async def test_method_create_with_all_params(self, async_client: AsyncCodeset) -> None:
|
|
301
306
|
session = await async_client.sessions.create(
|
|
307
|
+
dataset="dataset",
|
|
302
308
|
sample_id="sample_id",
|
|
303
309
|
ttl_minutes=0,
|
|
304
310
|
)
|
|
@@ -308,6 +314,7 @@ class TestAsyncSessions:
|
|
|
308
314
|
@parametrize
|
|
309
315
|
async def test_raw_response_create(self, async_client: AsyncCodeset) -> None:
|
|
310
316
|
response = await async_client.sessions.with_raw_response.create(
|
|
317
|
+
dataset="dataset",
|
|
311
318
|
sample_id="sample_id",
|
|
312
319
|
)
|
|
313
320
|
|
|
@@ -320,6 +327,7 @@ class TestAsyncSessions:
|
|
|
320
327
|
@parametrize
|
|
321
328
|
async def test_streaming_response_create(self, async_client: AsyncCodeset) -> None:
|
|
322
329
|
async with async_client.sessions.with_streaming_response.create(
|
|
330
|
+
dataset="dataset",
|
|
323
331
|
sample_id="sample_id",
|
|
324
332
|
) as response:
|
|
325
333
|
assert not response.is_closed
|
|
@@ -93,7 +93,7 @@ class TestCodeset:
|
|
|
93
93
|
# options that have a default are overridden correctly
|
|
94
94
|
copied = self.client.copy(max_retries=7)
|
|
95
95
|
assert copied.max_retries == 7
|
|
96
|
-
assert self.client.max_retries ==
|
|
96
|
+
assert self.client.max_retries == 0
|
|
97
97
|
|
|
98
98
|
copied2 = copied.copy(max_retries=6)
|
|
99
99
|
assert copied2.max_retries == 6
|
|
@@ -692,21 +692,21 @@ class TestCodeset:
|
|
|
692
692
|
"remaining_retries,retry_after,timeout",
|
|
693
693
|
[
|
|
694
694
|
[3, "20", 20],
|
|
695
|
-
[3, "0", 0
|
|
696
|
-
[3, "-10", 0
|
|
695
|
+
[3, "0", 0],
|
|
696
|
+
[3, "-10", 0],
|
|
697
697
|
[3, "60", 60],
|
|
698
|
-
[3, "61", 0
|
|
698
|
+
[3, "61", 0],
|
|
699
699
|
[3, "Fri, 29 Sep 2023 16:26:57 GMT", 20],
|
|
700
|
-
[3, "Fri, 29 Sep 2023 16:26:37 GMT", 0
|
|
701
|
-
[3, "Fri, 29 Sep 2023 16:26:27 GMT", 0
|
|
700
|
+
[3, "Fri, 29 Sep 2023 16:26:37 GMT", 0],
|
|
701
|
+
[3, "Fri, 29 Sep 2023 16:26:27 GMT", 0],
|
|
702
702
|
[3, "Fri, 29 Sep 2023 16:27:37 GMT", 60],
|
|
703
|
-
[3, "Fri, 29 Sep 2023 16:27:38 GMT", 0
|
|
704
|
-
[3, "99999999999999999999999999999999999", 0
|
|
705
|
-
[3, "Zun, 29 Sep 2023 16:26:27 GMT", 0
|
|
706
|
-
[3, "", 0
|
|
707
|
-
[2, "", 0
|
|
708
|
-
[1, "", 0
|
|
709
|
-
[-1100, "",
|
|
703
|
+
[3, "Fri, 29 Sep 2023 16:27:38 GMT", 0],
|
|
704
|
+
[3, "99999999999999999999999999999999999", 0],
|
|
705
|
+
[3, "Zun, 29 Sep 2023 16:26:27 GMT", 0],
|
|
706
|
+
[3, "", 0],
|
|
707
|
+
[2, "", 0 * 2.0],
|
|
708
|
+
[1, "", 0 * 4.0],
|
|
709
|
+
[-1100, "", 0], # test large number potentially overflowing
|
|
710
710
|
],
|
|
711
711
|
)
|
|
712
712
|
@mock.patch("time.time", mock.MagicMock(return_value=1696004797))
|
|
@@ -716,7 +716,7 @@ class TestCodeset:
|
|
|
716
716
|
headers = httpx.Headers({"retry-after": retry_after})
|
|
717
717
|
options = FinalRequestOptions(method="get", url="/foo", max_retries=3)
|
|
718
718
|
calculated = client._calculate_retry_timeout(remaining_retries, options, headers)
|
|
719
|
-
assert calculated == pytest.approx(timeout, 0
|
|
719
|
+
assert calculated == pytest.approx(timeout, 0 * 0.875) # pyright: ignore[reportUnknownMemberType]
|
|
720
720
|
|
|
721
721
|
@mock.patch("codeset._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
|
|
722
722
|
@pytest.mark.respx(base_url=base_url)
|
|
@@ -901,7 +901,7 @@ class TestAsyncCodeset:
|
|
|
901
901
|
# options that have a default are overridden correctly
|
|
902
902
|
copied = self.client.copy(max_retries=7)
|
|
903
903
|
assert copied.max_retries == 7
|
|
904
|
-
assert self.client.max_retries ==
|
|
904
|
+
assert self.client.max_retries == 0
|
|
905
905
|
|
|
906
906
|
copied2 = copied.copy(max_retries=6)
|
|
907
907
|
assert copied2.max_retries == 6
|
|
@@ -1515,21 +1515,21 @@ class TestAsyncCodeset:
|
|
|
1515
1515
|
"remaining_retries,retry_after,timeout",
|
|
1516
1516
|
[
|
|
1517
1517
|
[3, "20", 20],
|
|
1518
|
-
[3, "0", 0
|
|
1519
|
-
[3, "-10", 0
|
|
1518
|
+
[3, "0", 0],
|
|
1519
|
+
[3, "-10", 0],
|
|
1520
1520
|
[3, "60", 60],
|
|
1521
|
-
[3, "61", 0
|
|
1521
|
+
[3, "61", 0],
|
|
1522
1522
|
[3, "Fri, 29 Sep 2023 16:26:57 GMT", 20],
|
|
1523
|
-
[3, "Fri, 29 Sep 2023 16:26:37 GMT", 0
|
|
1524
|
-
[3, "Fri, 29 Sep 2023 16:26:27 GMT", 0
|
|
1523
|
+
[3, "Fri, 29 Sep 2023 16:26:37 GMT", 0],
|
|
1524
|
+
[3, "Fri, 29 Sep 2023 16:26:27 GMT", 0],
|
|
1525
1525
|
[3, "Fri, 29 Sep 2023 16:27:37 GMT", 60],
|
|
1526
|
-
[3, "Fri, 29 Sep 2023 16:27:38 GMT", 0
|
|
1527
|
-
[3, "99999999999999999999999999999999999", 0
|
|
1528
|
-
[3, "Zun, 29 Sep 2023 16:26:27 GMT", 0
|
|
1529
|
-
[3, "", 0
|
|
1530
|
-
[2, "", 0
|
|
1531
|
-
[1, "", 0
|
|
1532
|
-
[-1100, "",
|
|
1526
|
+
[3, "Fri, 29 Sep 2023 16:27:38 GMT", 0],
|
|
1527
|
+
[3, "99999999999999999999999999999999999", 0],
|
|
1528
|
+
[3, "Zun, 29 Sep 2023 16:26:27 GMT", 0],
|
|
1529
|
+
[3, "", 0],
|
|
1530
|
+
[2, "", 0 * 2.0],
|
|
1531
|
+
[1, "", 0 * 4.0],
|
|
1532
|
+
[-1100, "", 0], # test large number potentially overflowing
|
|
1533
1533
|
],
|
|
1534
1534
|
)
|
|
1535
1535
|
@mock.patch("time.time", mock.MagicMock(return_value=1696004797))
|
|
@@ -1540,7 +1540,7 @@ class TestAsyncCodeset:
|
|
|
1540
1540
|
headers = httpx.Headers({"retry-after": retry_after})
|
|
1541
1541
|
options = FinalRequestOptions(method="get", url="/foo", max_retries=3)
|
|
1542
1542
|
calculated = client._calculate_retry_timeout(remaining_retries, options, headers)
|
|
1543
|
-
assert calculated == pytest.approx(timeout, 0
|
|
1543
|
+
assert calculated == pytest.approx(timeout, 0 * 0.875) # pyright: ignore[reportUnknownMemberType]
|
|
1544
1544
|
|
|
1545
1545
|
@mock.patch("codeset._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
|
|
1546
1546
|
@pytest.mark.respx(base_url=base_url)
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|