agentx-python 0.8.9__tar.gz → 0.8.10__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.
Files changed (90) hide show
  1. {agentx_python-0.8.9 → agentx_python-0.8.10}/PKG-INFO +2 -2
  2. {agentx_python-0.8.9 → agentx_python-0.8.10}/README.md +1 -1
  3. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/evaluations/client.py +12 -1
  4. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/version.py +1 -1
  5. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx_python.egg-info/PKG-INFO +2 -2
  6. {agentx_python-0.8.9 → agentx_python-0.8.10}/LICENSE +0 -0
  7. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/__init__.py +0 -0
  8. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/agentx.py +0 -0
  9. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/cli.py +0 -0
  10. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/evaluations/__init__.py +0 -0
  11. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/evaluations/_term.py +0 -0
  12. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/evaluations/adapters/__init__.py +0 -0
  13. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/evaluations/adapters/http_endpoint.py +0 -0
  14. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/evaluations/adapters/precomputed.py +0 -0
  15. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/evaluations/adapters/raw.py +0 -0
  16. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/evaluations/datasets.py +0 -0
  17. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/evaluations/evaluation_settings.py +0 -0
  18. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/evaluations/models.py +0 -0
  19. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/evaluations/prompts.py +0 -0
  20. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/evaluations/reporting.py +0 -0
  21. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/evaluations/results.py +0 -0
  22. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/evaluations/runner.py +0 -0
  23. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/evaluations/tool_schemas.py +0 -0
  24. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/evaluations/tracing.py +0 -0
  25. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/exceptions.py +0 -0
  26. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/export.py +0 -0
  27. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/feedback.py +0 -0
  28. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/integrations/__init__.py +0 -0
  29. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/integrations/_traced_call.py +0 -0
  30. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/integrations/anthropic.py +0 -0
  31. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/integrations/autogen.py +0 -0
  32. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/integrations/crewai.py +0 -0
  33. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/integrations/databricks.py +0 -0
  34. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/integrations/google_adk.py +0 -0
  35. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/integrations/google_genai.py +0 -0
  36. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/integrations/langchain.py +0 -0
  37. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/integrations/litellm.py +0 -0
  38. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/integrations/llamaindex.py +0 -0
  39. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/integrations/moveworks.py +0 -0
  40. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/integrations/openai.py +0 -0
  41. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/integrations/openai_agents.py +0 -0
  42. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/monitor/__init__.py +0 -0
  43. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/monitor/agents.py +0 -0
  44. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/monitor/client.py +0 -0
  45. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/monitor/judge_scorers.py +0 -0
  46. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/monitor/models.py +0 -0
  47. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/monitor/online_evaluators.py +0 -0
  48. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/monitor/patterns.py +0 -0
  49. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/monitor/profile.py +0 -0
  50. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/monitor/review_queue.py +0 -0
  51. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/monitor/rules.py +0 -0
  52. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/monitor/scorers.py +0 -0
  53. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/monitor/sessions.py +0 -0
  54. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/monitor/signals.py +0 -0
  55. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/outcomes.py +0 -0
  56. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/projects.py +0 -0
  57. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/py.typed +0 -0
  58. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/resources/__init__.py +0 -0
  59. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/resources/agent.py +0 -0
  60. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/resources/conversation.py +0 -0
  61. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/resources/workforce.py +0 -0
  62. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/testing.py +0 -0
  63. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/traces.py +0 -0
  64. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/tracing/__init__.py +0 -0
  65. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/tracing/ci_types.py +0 -0
  66. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/tracing/eval_scope.py +0 -0
  67. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/tracing/ingest_client.py +0 -0
  68. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/tracing/tracer.py +0 -0
  69. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx/util.py +0 -0
  70. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx_python.egg-info/SOURCES.txt +0 -0
  71. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx_python.egg-info/dependency_links.txt +0 -0
  72. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx_python.egg-info/entry_points.txt +0 -0
  73. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx_python.egg-info/not-zip-safe +0 -0
  74. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx_python.egg-info/requires.txt +0 -0
  75. {agentx_python-0.8.9 → agentx_python-0.8.10}/agentx_python.egg-info/top_level.txt +0 -0
  76. {agentx_python-0.8.9 → agentx_python-0.8.10}/setup.cfg +0 -0
  77. {agentx_python-0.8.9 → agentx_python-0.8.10}/setup.py +0 -0
  78. {agentx_python-0.8.9 → agentx_python-0.8.10}/tests/test_cli_launcher.py +0 -0
  79. {agentx_python-0.8.9 → agentx_python-0.8.10}/tests/test_deep_dive_fixes.py +0 -0
  80. {agentx_python-0.8.9 → agentx_python-0.8.10}/tests/test_docs_match_sdk.py +0 -0
  81. {agentx_python-0.8.9 → agentx_python-0.8.10}/tests/test_eval_scope.py +0 -0
  82. {agentx_python-0.8.9 → agentx_python-0.8.10}/tests/test_integration.py +0 -0
  83. {agentx_python-0.8.9 → agentx_python-0.8.10}/tests/test_integrations.py +0 -0
  84. {agentx_python-0.8.9 → agentx_python-0.8.10}/tests/test_judge_scorers.py +0 -0
  85. {agentx_python-0.8.9 → agentx_python-0.8.10}/tests/test_pairwise.py +0 -0
  86. {agentx_python-0.8.9 → agentx_python-0.8.10}/tests/test_review_queue.py +0 -0
  87. {agentx_python-0.8.9 → agentx_python-0.8.10}/tests/test_runner_features.py +0 -0
  88. {agentx_python-0.8.9 → agentx_python-0.8.10}/tests/test_selfhost_analysis_fallback.py +0 -0
  89. {agentx_python-0.8.9 → agentx_python-0.8.10}/tests/test_span_tree.py +0 -0
  90. {agentx_python-0.8.9 → agentx_python-0.8.10}/tests/test_testing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentx-python
3
- Version: 0.8.9
3
+ Version: 0.8.10
4
4
  Summary: Official Python SDK for AgentX (https://www.agentx.so/)
5
5
  Home-page: https://github.com/AgentX-ai/AgentX-python
6
6
  Author: Robin Wang and AgentX Team
@@ -193,7 +193,7 @@ client.evaluations.run(
193
193
 
194
194
  See [Prompt registry](EVALUATIONS.md#prompt-registry) in the full guide, or [self-host's docs](https://docs.agentx.so/improve/prompt-management) for the "Suggest improvement" dashboard flow (self-host only - no hosted-SaaS equivalent yet).
195
195
 
196
- On self-host, a finalized run can also **gate a CI job**: `report.gate(fail_under=7, no_regression=True)` checks the run's average rating against an absolute floor and/or the dataset's previous run, prints per-check verdicts into the CI log, and returns an exit code - `sys.exit(gate.exit_code)` blocks the merge on regression. Recorded gates appear in the dashboard's CI Gates tab. See [self-host's CI docs](https://docs.agentx.so/integrations/self-host-ci) for the GitHub Actions recipe.
196
+ On self-host, a finalized run can also **gate a CI job**: `run.gate(fail_under=7, no_regression=True)` (on the run context `.execute()` returns) checks the run's average rating against an absolute floor and/or the dataset's previous run, prints per-check verdicts into the CI log, and returns an exit code - `sys.exit(gate.exit_code)` blocks the merge on regression. Recorded gates appear in the dashboard's CI Gates tab. See [self-host's CI docs](https://docs.agentx.so/integrations/self-host-ci) for the GitHub Actions recipe.
197
197
 
198
198
  See **[EVALUATIONS.md](EVALUATIONS.md)** for the full guide - dataset builder, framework adapters, similarity metrics, smoke testing, judge configuration, prompt registry, and the complete API reference.
199
199
 
@@ -129,7 +129,7 @@ client.evaluations.run(
129
129
 
130
130
  See [Prompt registry](EVALUATIONS.md#prompt-registry) in the full guide, or [self-host's docs](https://docs.agentx.so/improve/prompt-management) for the "Suggest improvement" dashboard flow (self-host only - no hosted-SaaS equivalent yet).
131
131
 
132
- On self-host, a finalized run can also **gate a CI job**: `report.gate(fail_under=7, no_regression=True)` checks the run's average rating against an absolute floor and/or the dataset's previous run, prints per-check verdicts into the CI log, and returns an exit code - `sys.exit(gate.exit_code)` blocks the merge on regression. Recorded gates appear in the dashboard's CI Gates tab. See [self-host's CI docs](https://docs.agentx.so/integrations/self-host-ci) for the GitHub Actions recipe.
132
+ On self-host, a finalized run can also **gate a CI job**: `run.gate(fail_under=7, no_regression=True)` (on the run context `.execute()` returns) checks the run's average rating against an absolute floor and/or the dataset's previous run, prints per-check verdicts into the CI log, and returns an exit code - `sys.exit(gate.exit_code)` blocks the merge on regression. Recorded gates appear in the dashboard's CI Gates tab. See [self-host's CI docs](https://docs.agentx.so/integrations/self-host-ci) for the GitHub Actions recipe.
133
133
 
134
134
  See **[EVALUATIONS.md](EVALUATIONS.md)** for the full guide - dataset builder, framework adapters, similarity metrics, smoke testing, judge configuration, prompt registry, and the complete API reference.
135
135
 
@@ -37,6 +37,9 @@ _RETRY_BACKOFF = [1.0, 2.0, 4.0]
37
37
  # wait out the whole job on one connection. Matches EvaluationRunContext.analyze()'s own
38
38
  # default timeout.
39
39
  _SELF_HOST_ANALYZE_TIMEOUT = 1800
40
+ # Batch result submission scores each result synchronously inside the request (one judge call
41
+ # per result on the sync path) - a big batch on a slow judge legitimately takes minutes.
42
+ _SELF_HOST_SCORING_TIMEOUT = 900
40
43
 
41
44
 
42
45
  class AgentXEvaluationsError(Exception):
@@ -344,7 +347,15 @@ class EvaluationsClient:
344
347
  "batchId": batch_id,
345
348
  "results": [_result_to_payload(r) for r in results],
346
349
  }
347
- data = self._request("POST", f"/runs/{run_id}/results", json=payload)
350
+ # Scoring is synchronous inside this request (a judge call per result - the runner's
351
+ # spinner says "~60s+" for a reason), so the default 30s timeout + silent backoff loop
352
+ # re-POSTed the batch WHILE the first submission was still scoring, and the two raced
353
+ # into the engine's (run_id, idempotency_key) unique constraint. Long timeout, no
354
+ # transport retry - the runner's own logged retry-once is the retry layer here.
355
+ data = self._request(
356
+ "POST", f"/runs/{run_id}/results", json=payload,
357
+ timeout=_SELF_HOST_SCORING_TIMEOUT, retry=False,
358
+ )
348
359
  return BatchAppendResponse(**data)
349
360
 
350
361
  def finalize_run(self, run_id: str) -> Dict[str, Any]:
@@ -1,4 +1,4 @@
1
- VERSION = "0.8.9"
1
+ VERSION = "0.8.10"
2
2
 
3
3
  # The AgentX-trace-eval release this SDK version is tested against - what `agentx-trace-eval`
4
4
  # installs and converges to (see agentx/cli.py). Bump together with VERSION when releasing, so
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentx-python
3
- Version: 0.8.9
3
+ Version: 0.8.10
4
4
  Summary: Official Python SDK for AgentX (https://www.agentx.so/)
5
5
  Home-page: https://github.com/AgentX-ai/AgentX-python
6
6
  Author: Robin Wang and AgentX Team
@@ -193,7 +193,7 @@ client.evaluations.run(
193
193
 
194
194
  See [Prompt registry](EVALUATIONS.md#prompt-registry) in the full guide, or [self-host's docs](https://docs.agentx.so/improve/prompt-management) for the "Suggest improvement" dashboard flow (self-host only - no hosted-SaaS equivalent yet).
195
195
 
196
- On self-host, a finalized run can also **gate a CI job**: `report.gate(fail_under=7, no_regression=True)` checks the run's average rating against an absolute floor and/or the dataset's previous run, prints per-check verdicts into the CI log, and returns an exit code - `sys.exit(gate.exit_code)` blocks the merge on regression. Recorded gates appear in the dashboard's CI Gates tab. See [self-host's CI docs](https://docs.agentx.so/integrations/self-host-ci) for the GitHub Actions recipe.
196
+ On self-host, a finalized run can also **gate a CI job**: `run.gate(fail_under=7, no_regression=True)` (on the run context `.execute()` returns) checks the run's average rating against an absolute floor and/or the dataset's previous run, prints per-check verdicts into the CI log, and returns an exit code - `sys.exit(gate.exit_code)` blocks the merge on regression. Recorded gates appear in the dashboard's CI Gates tab. See [self-host's CI docs](https://docs.agentx.so/integrations/self-host-ci) for the GitHub Actions recipe.
197
197
 
198
198
  See **[EVALUATIONS.md](EVALUATIONS.md)** for the full guide - dataset builder, framework adapters, similarity metrics, smoke testing, judge configuration, prompt registry, and the complete API reference.
199
199
 
File without changes
File without changes
File without changes