langgraph-api 0.4.39__tar.gz → 0.4.41__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 langgraph-api might be problematic. Click here for more details.

Files changed (137) hide show
  1. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/PKG-INFO +1 -1
  2. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/benchmark/capacity_k6.js +4 -21
  3. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/benchmark/capacity_runner.mjs +7 -2
  4. langgraph_api-0.4.41/benchmark/capacity_urls.mjs +18 -0
  5. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/benchmark/reporting/dd_reporting.py +6 -4
  6. langgraph_api-0.4.41/langgraph_api/__init__.py +1 -0
  7. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/cli.py +1 -1
  8. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/server.py +1 -1
  9. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/openapi.json +1 -1
  10. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/uv.lock +15 -15
  11. langgraph_api-0.4.39/langgraph_api/__init__.py +0 -1
  12. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/.gitignore +0 -0
  13. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/LICENSE +0 -0
  14. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/Makefile +0 -0
  15. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/README.md +0 -0
  16. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/benchmark/.gitignore +0 -0
  17. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/benchmark/Makefile +0 -0
  18. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/benchmark/README.md +0 -0
  19. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/benchmark/burst.js +0 -0
  20. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/benchmark/clean.js +0 -0
  21. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/benchmark/graphs.js +0 -0
  22. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/benchmark/package.json +0 -0
  23. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/benchmark/ramp.js +0 -0
  24. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/benchmark/update-revision.js +0 -0
  25. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/benchmark/weather.js +0 -0
  26. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/constraints.txt +0 -0
  27. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/forbidden.txt +0 -0
  28. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/healthcheck.py +0 -0
  29. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/api/__init__.py +0 -0
  30. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/api/a2a.py +0 -0
  31. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/api/assistants.py +0 -0
  32. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/api/mcp.py +0 -0
  33. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/api/meta.py +0 -0
  34. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/api/openapi.py +0 -0
  35. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/api/runs.py +0 -0
  36. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/api/store.py +0 -0
  37. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/api/threads.py +0 -0
  38. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/api/ui.py +0 -0
  39. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/asgi_transport.py +0 -0
  40. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/asyncio.py +0 -0
  41. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/auth/__init__.py +0 -0
  42. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/auth/custom.py +0 -0
  43. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/auth/langsmith/__init__.py +0 -0
  44. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/auth/langsmith/backend.py +0 -0
  45. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/auth/langsmith/client.py +0 -0
  46. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/auth/middleware.py +0 -0
  47. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/auth/noop.py +0 -0
  48. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/auth/studio_user.py +0 -0
  49. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/command.py +0 -0
  50. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/config.py +0 -0
  51. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/cron_scheduler.py +0 -0
  52. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/errors.py +0 -0
  53. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/executor_entrypoint.py +0 -0
  54. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/feature_flags.py +0 -0
  55. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/graph.py +0 -0
  56. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/grpc_ops/__init__.py +0 -0
  57. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/grpc_ops/client.py +0 -0
  58. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/grpc_ops/generated/__init__.py +0 -0
  59. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/grpc_ops/generated/core_api_pb2.py +0 -0
  60. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/grpc_ops/generated/core_api_pb2.pyi +0 -0
  61. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/grpc_ops/generated/core_api_pb2_grpc.py +0 -0
  62. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/grpc_ops/ops.py +0 -0
  63. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/http.py +0 -0
  64. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/http_metrics.py +0 -0
  65. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/http_metrics_utils.py +0 -0
  66. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/.gitignore +0 -0
  67. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/.prettierrc +0 -0
  68. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/__init__.py +0 -0
  69. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/base.py +0 -0
  70. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/build.mts +0 -0
  71. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/client.http.mts +0 -0
  72. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/client.mts +0 -0
  73. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/errors.py +0 -0
  74. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/global.d.ts +0 -0
  75. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/package.json +0 -0
  76. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/remote.py +0 -0
  77. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/schema.py +0 -0
  78. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/src/graph.mts +0 -0
  79. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/src/load.hooks.mjs +0 -0
  80. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/src/preload.mjs +0 -0
  81. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/src/utils/files.mts +0 -0
  82. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/src/utils/importMap.mts +0 -0
  83. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
  84. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/src/utils/serde.mts +0 -0
  85. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/sse.py +0 -0
  86. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/traceblock.mts +0 -0
  87. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/tsconfig.json +0 -0
  88. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/ui.py +0 -0
  89. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/js/yarn.lock +0 -0
  90. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/logging.py +0 -0
  91. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/metadata.py +0 -0
  92. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/middleware/__init__.py +0 -0
  93. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/middleware/http_logger.py +0 -0
  94. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/middleware/private_network.py +0 -0
  95. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/middleware/request_id.py +0 -0
  96. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/models/__init__.py +0 -0
  97. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/models/run.py +0 -0
  98. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/patch.py +0 -0
  99. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/queue_entrypoint.py +0 -0
  100. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/route.py +0 -0
  101. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/schema.py +0 -0
  102. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/self_hosted_logs.py +0 -0
  103. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/self_hosted_metrics.py +0 -0
  104. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/serde.py +0 -0
  105. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/sse.py +0 -0
  106. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/state.py +0 -0
  107. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/store.py +0 -0
  108. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/stream.py +0 -0
  109. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/thread_ttl.py +0 -0
  110. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/traceblock.py +0 -0
  111. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/tunneling/cloudflare.py +0 -0
  112. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/utils/__init__.py +0 -0
  113. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/utils/cache.py +0 -0
  114. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/utils/config.py +0 -0
  115. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/utils/errors.py +0 -0
  116. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/utils/future.py +0 -0
  117. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/utils/headers.py +0 -0
  118. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/utils/retriable_client.py +0 -0
  119. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/utils/stream_codec.py +0 -0
  120. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/utils/uuids.py +0 -0
  121. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/validation.py +0 -0
  122. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/webhook.py +0 -0
  123. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_api/worker.py +0 -0
  124. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_license/__init__.py +0 -0
  125. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_license/validation.py +0 -0
  126. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_runtime/__init__.py +0 -0
  127. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_runtime/checkpoint.py +0 -0
  128. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_runtime/database.py +0 -0
  129. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_runtime/lifespan.py +0 -0
  130. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_runtime/metrics.py +0 -0
  131. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_runtime/ops.py +0 -0
  132. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_runtime/queue.py +0 -0
  133. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_runtime/retry.py +0 -0
  134. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/langgraph_runtime/store.py +0 -0
  135. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/logging.json +0 -0
  136. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/pyproject.toml +0 -0
  137. {langgraph_api-0.4.39 → langgraph_api-0.4.41}/scripts/create_license.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langgraph-api
3
- Version: 0.4.39
3
+ Version: 0.4.41
4
4
  Author-email: Nuno Campos <nuno@langchain.dev>, Will Fu-Hinthorn <will@langchain.dev>
5
5
  License: Elastic-2.0
6
6
  License-File: LICENSE
@@ -1,27 +1,7 @@
1
1
  import http from 'k6/http';
2
2
  import { sleep } from 'k6';
3
3
  import { Trend, Counter, Rate } from 'k6/metrics';
4
-
5
- // Mao
6
-
7
- const baseUrlToBaseUrlName = {
8
- 'https://ifh-core-api-dr-benchmark-048d364b548f5d9790082d8ba4fb44d8.us.langgraph.app': 'DRC,API S,OPS S',
9
- 'https://ifh-benchmarks-ba3f7d811fb6564ebe5248bcd7a0a662.us.langgraph.app': 'API S, OPS S',
10
- 'https://wfh-benchmark-distributed-r-1603f73b1a175234b9b0fb1f9beea4f1.us.langgraph.app': 'DR,API S,OPS S',
11
- "https://benchmark-api-m-ops-s-81bb8ca883ce54438fcb9027877be8e7.us.langgraph.app": "API M, OPS S",
12
- "https://benchmark-api-s-ops-m-32baf0b195b7589eb77ce06c373f0886.us.langgraph.app": "API S, OPS M",
13
- "https://benchmark-api-m-ops-m-2c4ecc0e7f6a526fac98db7068092d5a.us.langgraph.app": "API M, OPS M",
14
- "https://benchmark-dr-api-m-ops-s-d3bfd55b7b065af5a89d3b15edd99500.us.langgraph.app": "DR, API M, OPS S",
15
- "https://benchmark-dr-api-s-ops-m-7f98f893140257b7869cbe00a93ecb71.us.langgraph.app": "DR, API S, OPS M",
16
- "https://benchmark-dr-api-m-ops-m-22b1c77d9f175160b226090601add28a.us.langgraph.app": "DR, API M, OPS M",
17
- "https://benchmark-drc-api-m-ops-s-9a7d59e246d95b5bad994c7ea269c460.us.langgraph.app": "DRC, API M, OPS S",
18
- "https://benchmark-drc-api-s-ops-m-d54e214bd0fd5c9db1f44b80065f7b9a.us.langgraph.app": "DRC, API S, OPS M",
19
- "https://benchmark-drc-api-m-ops-m-caa32d5c7e945a15a3818aa7a941b1bd.us.langgraph.app": "DRC, API M, OPS M",
20
- "https://benchmark-dr-api-s-ops-s-db-b8ba0253c7a65ace836c0662f22c530d.us.langgraph.app": "DR, API S, OPS S, DB M",
21
- "https://benchmark-api-s-ops-s-db-m-4e3d4e6f27d35555b7f3955c3a4c301a.us.langgraph.app": "API S, OPS S, DB M",
22
- "https://benchmark-dr-api-s-ops-s-re-423b90208677556e86eced49b27a73a0.us.langgraph.app": "DR, API S, OPS S, Redis M",
23
- "https://benchmark-api-s-ops-s-redis-91911734773c51e292ecb2b15fa015e5.us.langgraph.app": "API S, OPS S, Redis M"
24
- }
4
+ import { baseUrlToBaseUrlName } from './capacity_urls.mjs';
25
5
 
26
6
  // Metrics
27
7
  const runDuration = new Trend('run_duration'); // ms for successful runs
@@ -207,12 +187,15 @@ export function handleSummary(data) {
207
187
  baseUrl: BASE_URL,
208
188
  baseUrlName: baseUrlToBaseUrlName[BASE_URL],
209
189
  target: TARGET,
190
+ },
191
+ config: {
210
192
  waitSeconds: WAIT_SECONDS,
211
193
  dataSize: DATA_SIZE,
212
194
  delay: DELAY,
213
195
  expand: EXPAND,
214
196
  steps: STEPS,
215
197
  },
198
+ config_key: `wait:${WAIT_SECONDS}_dataSize:${DATA_SIZE}_delay:${DELAY}_expand:${EXPAND}_steps:${STEPS}`,
216
199
  metrics: {
217
200
  totalRuns: total,
218
201
  successfulRuns: succ,
@@ -10,6 +10,7 @@ import { readdirSync, readFileSync, writeFileSync, createReadStream } from 'node
10
10
  import { join } from 'node:path';
11
11
  import readline from 'node:readline';
12
12
  import QuickChart from 'quickchart-js';
13
+ import { baseUrlToBaseUrlName } from './capacity_urls.mjs';
13
14
 
14
15
  function envBool(name, def = false) {
15
16
  const v = process.env[name];
@@ -167,7 +168,7 @@ async function main() {
167
168
  const summary = loadSummaryForTarget(n);
168
169
  const s = summary?.metrics?.successRate; // percent
169
170
  successRate = Number.isFinite(s) ? s / 100 : 0;
170
- avgDurationSeconds = summary?.metrics?.averageDurationSeconds ?? null;
171
+ avgDurationSeconds = summary?.metrics?.runDuration?.avg ?? null;
171
172
  console.log(`Step N=${n} successRate=${(successRate * 100).toFixed(2)}% avgDur=${avgDurationSeconds ?? 'n/a'}s`);
172
173
  } catch (e) {
173
174
  console.error(`Failed to read summary for N=${n}:`, e?.message || e);
@@ -183,13 +184,15 @@ async function main() {
183
184
  }
184
185
  n = next;
185
186
  } else {
186
- failedStep = { target: n, successRate };
187
+ failedStep = { target: n, avgDurationSeconds, successRate };
187
188
  break;
188
189
  }
189
190
  }
190
191
 
191
192
  const ts = new Date().toISOString().replace(/:/g, '-').replace(/\..+/, '');
192
193
  const report = {
194
+ baseUrl: BASE_URL,
195
+ baseUrlName: baseUrlToBaseUrlName[BASE_URL],
193
196
  timestamp: ts,
194
197
  ramp: { start: RAMP_START, end: RAMP_END, multiplier: RAMP_MULTIPLIER },
195
198
  waitSeconds: WAIT_SECONDS,
@@ -199,6 +202,7 @@ async function main() {
199
202
  last_success_rate: lastSuccess?.successRate ?? null,
200
203
  failed_target: failedStep?.target ?? null,
201
204
  failed_success_rate: failedStep?.successRate ?? null,
205
+ failed_avg_duration_seconds: failedStep?.avgDurationSeconds ?? null,
202
206
  };
203
207
  const fname = `capacity_report_${ts}.json`;
204
208
  writeFileSync(join(process.cwd(), fname), JSON.stringify(report, null, 2));
@@ -210,6 +214,7 @@ async function main() {
210
214
  `last_success_avg_duration_seconds=${report.last_success_avg_duration_seconds}`,
211
215
  `failed_target=${report.failed_target}`,
212
216
  `failed_success_rate=${report.failed_success_rate}`,
217
+ `failed_avg_duration_seconds=${report.failed_avg_duration_seconds}`,
213
218
  ].join('\n');
214
219
  writeFileSync(process.env.GITHUB_OUTPUT, `${out}\n`, { flag: 'a' });
215
220
  }
@@ -0,0 +1,18 @@
1
+ export const baseUrlToBaseUrlName = {
2
+ 'https://ifh-core-api-dr-benchmark-048d364b548f5d9790082d8ba4fb44d8.us.langgraph.app': 'DRC,API S,OPS S',
3
+ 'https://ifh-benchmarks-ba3f7d811fb6564ebe5248bcd7a0a662.us.langgraph.app': 'API S, OPS S',
4
+ 'https://wfh-benchmark-distributed-r-1603f73b1a175234b9b0fb1f9beea4f1.us.langgraph.app': 'DR,API S,OPS S',
5
+ 'https://benchmark-api-m-ops-s-81bb8ca883ce54438fcb9027877be8e7.us.langgraph.app': 'API M, OPS S',
6
+ 'https://benchmark-api-s-ops-m-32baf0b195b7589eb77ce06c373f0886.us.langgraph.app': 'API S, OPS M',
7
+ 'https://benchmark-api-m-ops-m-2c4ecc0e7f6a526fac98db7068092d5a.us.langgraph.app': 'API M, OPS M',
8
+ 'https://benchmark-dr-api-m-ops-s-d3bfd55b7b065af5a89d3b15edd99500.us.langgraph.app': 'DR, API M, OPS S',
9
+ 'https://benchmark-dr-api-s-ops-m-7f98f893140257b7869cbe00a93ecb71.us.langgraph.app': 'DR, API S, OPS M',
10
+ 'https://benchmark-dr-api-m-ops-m-22b1c77d9f175160b226090601add28a.us.langgraph.app': 'DR, API M, OPS M',
11
+ 'https://benchmark-drc-api-m-ops-s-9a7d59e246d95b5bad994c7ea269c460.us.langgraph.app': 'DRC, API M, OPS S',
12
+ 'https://benchmark-drc-api-s-ops-m-d54e214bd0fd5c9db1f44b80065f7b9a.us.langgraph.app': 'DRC, API S, OPS M',
13
+ 'https://benchmark-drc-api-m-ops-m-caa32d5c7e945a15a3818aa7a941b1bd.us.langgraph.app': 'DRC, API M, OPS M',
14
+ 'https://benchmark-dr-api-s-ops-s-db-b8ba0253c7a65ace836c0662f22c530d.us.langgraph.app': 'DR, API S, OPS S, DB M',
15
+ 'https://benchmark-api-s-ops-s-db-m-4e3d4e6f27d35555b7f3955c3a4c301a.us.langgraph.app': 'API S, OPS S, DB M',
16
+ 'https://benchmark-dr-api-s-ops-s-re-423b90208677556e86eced49b27a73a0.us.langgraph.app': 'DR, API S, OPS S, Redis M',
17
+ 'https://benchmark-api-s-ops-s-redis-91911734773c51e292ecb2b15fa015e5.us.langgraph.app': 'API S, OPS S, Redis M',
18
+ };
@@ -34,10 +34,8 @@ def send_benchmark_results(
34
34
  benchmark_data["labels"] = common_labels
35
35
 
36
36
  log_item = HTTPLogItem(
37
- ddsource="benchmark",
38
- ddtags=f"env:benchmarking,base_url:{common_labels.get('base_url', 'unknown')}"
39
- if common_labels
40
- else "env:benchmarking",
37
+ ddsource="benchmark-3",
38
+ ddtags="env:benchmarking" if common_labels else "env:benchmarking",
41
39
  hostname=os.getenv("HOSTNAME", "localhost"),
42
40
  message=json.dumps(benchmark_data),
43
41
  service="benchmark-results",
@@ -80,6 +78,10 @@ if __name__ == "__main__":
80
78
  DD_SITE = os.getenv("DD_SITE", "us5.datadoghq.com")
81
79
 
82
80
  common_labels = {"base_url": os.getenv("BASE_URL")}
81
+ if "report" in args.benchmark_file:
82
+ common_labels["type"] = "summary"
83
+ else:
84
+ common_labels["type"] = "individual_run"
83
85
 
84
86
  for file in glob.glob(args.benchmark_file):
85
87
  process_benchmark_file(file, common_labels, DD_SITE, DD_API_KEY)
@@ -0,0 +1 @@
1
+ __version__ = "0.4.41"
@@ -321,7 +321,7 @@ def run_server(
321
321
  - 📚 API Docs: \033[36m{local_url}/docs\033[0m
322
322
 
323
323
  This in-memory server is designed for development and testing.
324
- For production use, please use LangGraph Platform.
324
+ For production use, please use LangSmith Deployment.
325
325
 
326
326
  """
327
327
  logger.info(welcome)
@@ -117,7 +117,7 @@ def update_openapi_spec(app):
117
117
  schemas = SchemaGenerator(
118
118
  {
119
119
  "openapi": "3.1.0",
120
- "info": {"title": "LangGraph Platform", "version": "0.1.0"},
120
+ "info": {"title": "LangSmith Deployment", "version": "0.1.0"},
121
121
  }
122
122
  )
123
123
  spec = schemas.get_schema(routes=app.routes)
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "openapi": "3.1.0",
3
3
  "info": {
4
- "title": "LangGraph Platform",
4
+ "title": "LangSmith Deployment",
5
5
  "version": "0.1.0"
6
6
  },
7
7
  "tags": [
@@ -278,16 +278,16 @@ wheels = [
278
278
 
279
279
  [[package]]
280
280
  name = "fastapi"
281
- version = "0.118.2"
281
+ version = "0.119.0"
282
282
  source = { registry = "https://pypi.org/simple" }
283
283
  dependencies = [
284
284
  { name = "pydantic" },
285
285
  { name = "starlette" },
286
286
  { name = "typing-extensions" },
287
287
  ]
288
- sdist = { url = "https://files.pythonhosted.org/packages/2e/ad/31a59efecca3b584440cafac6f69634f4661295c858912c2b2905280a089/fastapi-0.118.2.tar.gz", hash = "sha256:d5388dbe76d97cb6ccd2c93b4dd981608062ebf6335280edfa9a11af82443e18", size = 311963, upload-time = "2025-10-08T14:52:17.796Z" }
288
+ sdist = { url = "https://files.pythonhosted.org/packages/0a/f9/5c5bcce82a7997cc0eb8c47b7800f862f6b56adc40486ed246e5010d443b/fastapi-0.119.0.tar.gz", hash = "sha256:451082403a2c1f0b99c6bd57c09110ed5463856804c8078d38e5a1f1035dbbb7", size = 336756, upload-time = "2025-10-11T17:13:40.53Z" }
289
289
  wheels = [
290
- { url = "https://files.pythonhosted.org/packages/45/7c/97d033faf771c9fe960c7b51eb78ab266bfa64cbc917601978963f0c3c7b/fastapi-0.118.2-py3-none-any.whl", hash = "sha256:d1f842612e6a305f95abe784b7f8d3215477742e7c67a16fccd20bd79db68150", size = 97954, upload-time = "2025-10-08T14:52:16.166Z" },
290
+ { url = "https://files.pythonhosted.org/packages/ce/70/584c4d7cad80f5e833715c0a29962d7c93b4d18eed522a02981a6d1b6ee5/fastapi-0.119.0-py3-none-any.whl", hash = "sha256:90a2e49ed19515320abb864df570dd766be0662c5d577688f1600170f7f73cf2", size = 107095, upload-time = "2025-10-11T17:13:39.048Z" },
291
291
  ]
292
292
 
293
293
  [[package]]
@@ -451,11 +451,11 @@ wheels = [
451
451
 
452
452
  [[package]]
453
453
  name = "idna"
454
- version = "3.10"
454
+ version = "3.11"
455
455
  source = { registry = "https://pypi.org/simple" }
456
- sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" }
456
+ sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" }
457
457
  wheels = [
458
- { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" },
458
+ { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" },
459
459
  ]
460
460
 
461
461
  [[package]]
@@ -531,7 +531,7 @@ wheels = [
531
531
 
532
532
  [[package]]
533
533
  name = "langchain-core"
534
- version = "0.3.78"
534
+ version = "0.3.79"
535
535
  source = { registry = "https://pypi.org/simple" }
536
536
  dependencies = [
537
537
  { name = "jsonpatch" },
@@ -542,14 +542,14 @@ dependencies = [
542
542
  { name = "tenacity" },
543
543
  { name = "typing-extensions" },
544
544
  ]
545
- sdist = { url = "https://files.pythonhosted.org/packages/a8/04/0035bd1df8d0fb534afceabe3ba0a87c5af8c5020177650e9aa79aca3495/langchain_core-0.3.78.tar.gz", hash = "sha256:a174a2061f8659b916fd2b1c7d174b3ddd07be7ca45a07aaec442696df5101b6", size = 580473, upload-time = "2025-10-03T16:52:37.025Z" }
545
+ sdist = { url = "https://files.pythonhosted.org/packages/c8/99/f926495f467e0f43289f12e951655d267d1eddc1136c3cf4dd907794a9a7/langchain_core-0.3.79.tar.gz", hash = "sha256:024ba54a346dd9b13fb8b2342e0c83d0111e7f26fa01f545ada23ad772b55a60", size = 580895, upload-time = "2025-10-09T21:59:08.359Z" }
546
546
  wheels = [
547
- { url = "https://files.pythonhosted.org/packages/9c/a7/ff35c108c4863c1bb99724a4253ff2324aea5789d689dd59424c07df1199/langchain_core-0.3.78-py3-none-any.whl", hash = "sha256:dafc4f7e9fd008f680bf0ffe5904dbaa45992abdb92627b68eccb7b4089cbbf0", size = 449610, upload-time = "2025-10-03T16:52:35.428Z" },
547
+ { url = "https://files.pythonhosted.org/packages/fc/71/46b0efaf3fc6ad2c2bd600aef500f1cb2b7038a4042f58905805630dd29d/langchain_core-0.3.79-py3-none-any.whl", hash = "sha256:92045bfda3e741f8018e1356f83be203ec601561c6a7becfefe85be5ddc58fdb", size = 449779, upload-time = "2025-10-09T21:59:06.493Z" },
548
548
  ]
549
549
 
550
550
  [[package]]
551
551
  name = "langgraph"
552
- version = "0.6.8"
552
+ version = "0.6.10"
553
553
  source = { registry = "https://pypi.org/simple" }
554
554
  dependencies = [
555
555
  { name = "langchain-core" },
@@ -559,9 +559,9 @@ dependencies = [
559
559
  { name = "pydantic" },
560
560
  { name = "xxhash" },
561
561
  ]
562
- sdist = { url = "https://files.pythonhosted.org/packages/c3/3f/96e7458522b04397b03a8e715e578b9529fa428a51ebd1c7b3bee9d1a9b1/langgraph-0.6.8.tar.gz", hash = "sha256:bdb824bf29e98c3bda73f06eda8f44d10fe766a977f252c92e58ee1a0a83973d", size = 490725, upload-time = "2025-09-29T09:21:14.309Z" }
562
+ sdist = { url = "https://files.pythonhosted.org/packages/e2/9c/bc34cf47e7a8845f9abe5a09cf6ed892162b899708fae5c59252fa44ed24/langgraph-0.6.10.tar.gz", hash = "sha256:37457595ef3becebca94b3c4711a8bcd539b5eae7560f2cec409eae0d8113c59", size = 492079, upload-time = "2025-10-09T16:45:13.714Z" }
563
563
  wheels = [
564
- { url = "https://files.pythonhosted.org/packages/c8/7e/0ae1eb99e0bb9a58dd255af9fa0a843eea06206e917a96bf95249e11f632/langgraph-0.6.8-py3-none-any.whl", hash = "sha256:d4f2cab0f66a26fad2ec66e177704982526528fc99b66edd048391a066e97bad", size = 154783, upload-time = "2025-09-29T09:21:12.995Z" },
564
+ { url = "https://files.pythonhosted.org/packages/e6/75/c2972a484581389b5c193f16e8e36531e6574b280f23700735b0d6729365/langgraph-0.6.10-py3-none-any.whl", hash = "sha256:b16baacd38895f6f4aa51e03b8a5b5f8695cff96fd0e8b637b725186ea27237c", size = 155422, upload-time = "2025-10-09T16:45:12.033Z" },
565
565
  ]
566
566
 
567
567
  [[package]]
@@ -765,7 +765,7 @@ wheels = [
765
765
 
766
766
  [[package]]
767
767
  name = "langsmith"
768
- version = "0.4.33"
768
+ version = "0.4.34"
769
769
  source = { registry = "https://pypi.org/simple" }
770
770
  dependencies = [
771
771
  { name = "httpx" },
@@ -776,9 +776,9 @@ dependencies = [
776
776
  { name = "requests-toolbelt" },
777
777
  { name = "zstandard" },
778
778
  ]
779
- sdist = { url = "https://files.pythonhosted.org/packages/c3/63/8e70c22fad0fd9e7a76c748bcb1ba45db1399d98849559d3e7f162ffeb06/langsmith-0.4.33.tar.gz", hash = "sha256:a8deb12bd332b816ee1896a8003c252882c92f27a3ee9a623ce821f49d1d13f4", size = 964776, upload-time = "2025-10-07T17:05:33.817Z" }
779
+ sdist = { url = "https://files.pythonhosted.org/packages/e2/5d/38887a18b68aa7acbac040c1fad2f2217c55d3eef7784d0412261fe37513/langsmith-0.4.34.tar.gz", hash = "sha256:5b90c0b49ab03f78331005df1591abd86b41afceda6ac7144ad7d23693c62f31", size = 964392, upload-time = "2025-10-09T23:34:26.359Z" }
780
780
  wheels = [
781
- { url = "https://files.pythonhosted.org/packages/ee/0b/b3d2e07bf09ce16994ed68a98b72699ded2d40bc9ff4b5eb031faedc8e42/langsmith-0.4.33-py3-none-any.whl", hash = "sha256:41d474f744617c79d61791a855ce2cf57294955ce8376c150484f9520700a7e5", size = 387335, upload-time = "2025-10-07T17:05:32.118Z" },
781
+ { url = "https://files.pythonhosted.org/packages/8e/a4/db5903757d710c4c401e7a87f6ba53a8242c580e8c1df5869b7acb949b2d/langsmith-0.4.34-py3-none-any.whl", hash = "sha256:3b83b2544f99bb8f6fca2681ee80fe6a44b0578c29e809e5a4e72fdee4db9146", size = 386981, upload-time = "2025-10-09T23:34:24.386Z" },
782
782
  ]
783
783
 
784
784
  [[package]]
@@ -1 +0,0 @@
1
- __version__ = "0.4.39"
File without changes
File without changes
File without changes