deeprails 1.3.0__tar.gz → 1.4.0__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 deeprails might be problematic. Click here for more details.
- deeprails-1.4.0/.release-please-manifest.json +3 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/CHANGELOG.md +8 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/PKG-INFO +1 -2
- {deeprails-1.3.0 → deeprails-1.4.0}/README.md +0 -1
- {deeprails-1.3.0 → deeprails-1.4.0}/pyproject.toml +1 -1
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_version.py +1 -1
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/resources/defend.py +8 -8
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/types/defend_submit_event_params.py +3 -3
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/api_resources/test_defend.py +2 -10
- deeprails-1.3.0/.release-please-manifest.json +0 -3
- {deeprails-1.3.0 → deeprails-1.4.0}/.gitignore +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/CONTRIBUTING.md +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/LICENSE +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/SECURITY.md +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/api.md +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/bin/check-release-environment +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/bin/publish-pypi +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/examples/.keep +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/noxfile.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/release-please-config.json +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/requirements-dev.lock +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/requirements.lock +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/__init__.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_base_client.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_client.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_compat.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_constants.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_exceptions.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_files.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_models.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_qs.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_resource.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_response.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_streaming.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_types.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_utils/__init__.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_utils/_compat.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_utils/_datetime_parse.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_utils/_logs.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_utils/_proxy.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_utils/_reflection.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_utils/_resources_proxy.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_utils/_streams.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_utils/_sync.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_utils/_transform.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_utils/_typing.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/_utils/_utils.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/lib/.keep +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/py.typed +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/resources/__init__.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/resources/evaluate.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/resources/monitor.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/types/__init__.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/types/api_response.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/types/defend_create_workflow_params.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/types/defend_response.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/types/defend_update_workflow_params.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/types/evaluate_create_params.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/types/evaluation.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/types/monitor_create_params.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/types/monitor_retrieve_params.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/types/monitor_retrieve_response.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/types/monitor_submit_event_params.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/types/monitor_submit_event_response.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/types/monitor_update_params.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/src/deeprails/types/workflow_event_response.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/__init__.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/api_resources/__init__.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/api_resources/test_evaluate.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/api_resources/test_monitor.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/conftest.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/sample_file.txt +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/test_client.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/test_deepcopy.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/test_extract_files.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/test_files.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/test_models.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/test_qs.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/test_required_args.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/test_response.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/test_streaming.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/test_transform.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/test_utils/test_proxy.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/test_utils/test_typing.py +0 -0
- {deeprails-1.3.0 → deeprails-1.4.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.4.0 (2025-10-10)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v1.3.0...v1.4.0](https://github.com/deeprails/deeprails-sdk-python/compare/v1.3.0...v1.4.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** manual updates ([b6beebc](https://github.com/deeprails/deeprails-sdk-python/commit/b6beebca6323df5ae35ef30d419d96c831bebbb8))
|
|
10
|
+
|
|
3
11
|
## 1.3.0 (2025-10-08)
|
|
4
12
|
|
|
5
13
|
Full Changelog: [v1.2.0...v1.3.0](https://github.com/deeprails/deeprails-sdk-python/compare/v1.2.0...v1.3.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: deeprails
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0
|
|
4
4
|
Summary: The official Python library for the deeprails API
|
|
5
5
|
Project-URL: Homepage, https://docs.deeprails.com/
|
|
6
6
|
Project-URL: Repository, https://github.com/deeprails/deeprails-sdk-python
|
|
@@ -176,7 +176,6 @@ workflow_event_response = client.defend.submit_event(
|
|
|
176
176
|
model_input={"user_prompt": "user_prompt"},
|
|
177
177
|
model_output="model_output",
|
|
178
178
|
model_used="model_used",
|
|
179
|
-
nametag="nametag",
|
|
180
179
|
run_mode="precision_plus",
|
|
181
180
|
)
|
|
182
181
|
print(workflow_event_response.model_input)
|
|
@@ -141,7 +141,6 @@ workflow_event_response = client.defend.submit_event(
|
|
|
141
141
|
model_input={"user_prompt": "user_prompt"},
|
|
142
142
|
model_output="model_output",
|
|
143
143
|
model_used="model_used",
|
|
144
|
-
nametag="nametag",
|
|
145
144
|
run_mode="precision_plus",
|
|
146
145
|
)
|
|
147
146
|
print(workflow_event_response.model_input)
|
|
@@ -199,8 +199,8 @@ class DefendResource(SyncAPIResource):
|
|
|
199
199
|
model_input: defend_submit_event_params.ModelInput,
|
|
200
200
|
model_output: str,
|
|
201
201
|
model_used: str,
|
|
202
|
-
nametag: str,
|
|
203
202
|
run_mode: Literal["precision_plus", "precision", "smart", "economy"],
|
|
203
|
+
nametag: str | Omit = omit,
|
|
204
204
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
205
205
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
206
206
|
extra_headers: Headers | None = None,
|
|
@@ -221,13 +221,13 @@ class DefendResource(SyncAPIResource):
|
|
|
221
221
|
|
|
222
222
|
model_used: Model ID used to generate the output, like `gpt-4o` or `o3`.
|
|
223
223
|
|
|
224
|
-
nametag: An optional, user-defined tag for the event.
|
|
225
|
-
|
|
226
224
|
run_mode: Run mode for the workflow event. The run mode allows the user to optimize for
|
|
227
225
|
speed, accuracy, and cost by determining which models are used to evaluate the
|
|
228
226
|
event. Available run modes include `precision_plus`, `precision`, `smart`, and
|
|
229
227
|
`economy`. Defaults to `smart`.
|
|
230
228
|
|
|
229
|
+
nametag: An optional, user-defined tag for the event.
|
|
230
|
+
|
|
231
231
|
extra_headers: Send extra headers
|
|
232
232
|
|
|
233
233
|
extra_query: Add additional query parameters to the request
|
|
@@ -245,8 +245,8 @@ class DefendResource(SyncAPIResource):
|
|
|
245
245
|
"model_input": model_input,
|
|
246
246
|
"model_output": model_output,
|
|
247
247
|
"model_used": model_used,
|
|
248
|
-
"nametag": nametag,
|
|
249
248
|
"run_mode": run_mode,
|
|
249
|
+
"nametag": nametag,
|
|
250
250
|
},
|
|
251
251
|
defend_submit_event_params.DefendSubmitEventParams,
|
|
252
252
|
),
|
|
@@ -477,8 +477,8 @@ class AsyncDefendResource(AsyncAPIResource):
|
|
|
477
477
|
model_input: defend_submit_event_params.ModelInput,
|
|
478
478
|
model_output: str,
|
|
479
479
|
model_used: str,
|
|
480
|
-
nametag: str,
|
|
481
480
|
run_mode: Literal["precision_plus", "precision", "smart", "economy"],
|
|
481
|
+
nametag: str | Omit = omit,
|
|
482
482
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
483
483
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
484
484
|
extra_headers: Headers | None = None,
|
|
@@ -499,13 +499,13 @@ class AsyncDefendResource(AsyncAPIResource):
|
|
|
499
499
|
|
|
500
500
|
model_used: Model ID used to generate the output, like `gpt-4o` or `o3`.
|
|
501
501
|
|
|
502
|
-
nametag: An optional, user-defined tag for the event.
|
|
503
|
-
|
|
504
502
|
run_mode: Run mode for the workflow event. The run mode allows the user to optimize for
|
|
505
503
|
speed, accuracy, and cost by determining which models are used to evaluate the
|
|
506
504
|
event. Available run modes include `precision_plus`, `precision`, `smart`, and
|
|
507
505
|
`economy`. Defaults to `smart`.
|
|
508
506
|
|
|
507
|
+
nametag: An optional, user-defined tag for the event.
|
|
508
|
+
|
|
509
509
|
extra_headers: Send extra headers
|
|
510
510
|
|
|
511
511
|
extra_query: Add additional query parameters to the request
|
|
@@ -523,8 +523,8 @@ class AsyncDefendResource(AsyncAPIResource):
|
|
|
523
523
|
"model_input": model_input,
|
|
524
524
|
"model_output": model_output,
|
|
525
525
|
"model_used": model_used,
|
|
526
|
-
"nametag": nametag,
|
|
527
526
|
"run_mode": run_mode,
|
|
527
|
+
"nametag": nametag,
|
|
528
528
|
},
|
|
529
529
|
defend_submit_event_params.DefendSubmitEventParams,
|
|
530
530
|
),
|
|
@@ -22,9 +22,6 @@ class DefendSubmitEventParams(TypedDict, total=False):
|
|
|
22
22
|
model_used: Required[str]
|
|
23
23
|
"""Model ID used to generate the output, like `gpt-4o` or `o3`."""
|
|
24
24
|
|
|
25
|
-
nametag: Required[str]
|
|
26
|
-
"""An optional, user-defined tag for the event."""
|
|
27
|
-
|
|
28
25
|
run_mode: Required[Literal["precision_plus", "precision", "smart", "economy"]]
|
|
29
26
|
"""Run mode for the workflow event.
|
|
30
27
|
|
|
@@ -34,6 +31,9 @@ class DefendSubmitEventParams(TypedDict, total=False):
|
|
|
34
31
|
`smart`.
|
|
35
32
|
"""
|
|
36
33
|
|
|
34
|
+
nametag: str
|
|
35
|
+
"""An optional, user-defined tag for the event."""
|
|
36
|
+
|
|
37
37
|
|
|
38
38
|
class ModelInputTyped(TypedDict, total=False):
|
|
39
39
|
user_prompt: Required[str]
|
|
@@ -179,7 +179,6 @@ class TestDefend:
|
|
|
179
179
|
model_input={"user_prompt": "user_prompt"},
|
|
180
180
|
model_output="model_output",
|
|
181
181
|
model_used="model_used",
|
|
182
|
-
nametag="nametag",
|
|
183
182
|
run_mode="precision_plus",
|
|
184
183
|
)
|
|
185
184
|
assert_matches_type(WorkflowEventResponse, defend, path=["response"])
|
|
@@ -195,8 +194,8 @@ class TestDefend:
|
|
|
195
194
|
},
|
|
196
195
|
model_output="model_output",
|
|
197
196
|
model_used="model_used",
|
|
198
|
-
nametag="nametag",
|
|
199
197
|
run_mode="precision_plus",
|
|
198
|
+
nametag="nametag",
|
|
200
199
|
)
|
|
201
200
|
assert_matches_type(WorkflowEventResponse, defend, path=["response"])
|
|
202
201
|
|
|
@@ -208,7 +207,6 @@ class TestDefend:
|
|
|
208
207
|
model_input={"user_prompt": "user_prompt"},
|
|
209
208
|
model_output="model_output",
|
|
210
209
|
model_used="model_used",
|
|
211
|
-
nametag="nametag",
|
|
212
210
|
run_mode="precision_plus",
|
|
213
211
|
)
|
|
214
212
|
|
|
@@ -225,7 +223,6 @@ class TestDefend:
|
|
|
225
223
|
model_input={"user_prompt": "user_prompt"},
|
|
226
224
|
model_output="model_output",
|
|
227
225
|
model_used="model_used",
|
|
228
|
-
nametag="nametag",
|
|
229
226
|
run_mode="precision_plus",
|
|
230
227
|
) as response:
|
|
231
228
|
assert not response.is_closed
|
|
@@ -245,7 +242,6 @@ class TestDefend:
|
|
|
245
242
|
model_input={"user_prompt": "user_prompt"},
|
|
246
243
|
model_output="model_output",
|
|
247
244
|
model_used="model_used",
|
|
248
|
-
nametag="nametag",
|
|
249
245
|
run_mode="precision_plus",
|
|
250
246
|
)
|
|
251
247
|
|
|
@@ -466,7 +462,6 @@ class TestAsyncDefend:
|
|
|
466
462
|
model_input={"user_prompt": "user_prompt"},
|
|
467
463
|
model_output="model_output",
|
|
468
464
|
model_used="model_used",
|
|
469
|
-
nametag="nametag",
|
|
470
465
|
run_mode="precision_plus",
|
|
471
466
|
)
|
|
472
467
|
assert_matches_type(WorkflowEventResponse, defend, path=["response"])
|
|
@@ -482,8 +477,8 @@ class TestAsyncDefend:
|
|
|
482
477
|
},
|
|
483
478
|
model_output="model_output",
|
|
484
479
|
model_used="model_used",
|
|
485
|
-
nametag="nametag",
|
|
486
480
|
run_mode="precision_plus",
|
|
481
|
+
nametag="nametag",
|
|
487
482
|
)
|
|
488
483
|
assert_matches_type(WorkflowEventResponse, defend, path=["response"])
|
|
489
484
|
|
|
@@ -495,7 +490,6 @@ class TestAsyncDefend:
|
|
|
495
490
|
model_input={"user_prompt": "user_prompt"},
|
|
496
491
|
model_output="model_output",
|
|
497
492
|
model_used="model_used",
|
|
498
|
-
nametag="nametag",
|
|
499
493
|
run_mode="precision_plus",
|
|
500
494
|
)
|
|
501
495
|
|
|
@@ -512,7 +506,6 @@ class TestAsyncDefend:
|
|
|
512
506
|
model_input={"user_prompt": "user_prompt"},
|
|
513
507
|
model_output="model_output",
|
|
514
508
|
model_used="model_used",
|
|
515
|
-
nametag="nametag",
|
|
516
509
|
run_mode="precision_plus",
|
|
517
510
|
) as response:
|
|
518
511
|
assert not response.is_closed
|
|
@@ -532,7 +525,6 @@ class TestAsyncDefend:
|
|
|
532
525
|
model_input={"user_prompt": "user_prompt"},
|
|
533
526
|
model_output="model_output",
|
|
534
527
|
model_used="model_used",
|
|
535
|
-
nametag="nametag",
|
|
536
528
|
run_mode="precision_plus",
|
|
537
529
|
)
|
|
538
530
|
|
|
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
|