gatewaysdk 0.3.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.
Files changed (378) hide show
  1. gatewaysdk-0.3.2/.gitignore +95 -0
  2. gatewaysdk-0.3.2/LICENSE +19 -0
  3. gatewaysdk-0.3.2/PKG-INFO +236 -0
  4. gatewaysdk-0.3.2/PUBLISHING.md +95 -0
  5. gatewaysdk-0.3.2/README.md +156 -0
  6. gatewaysdk-0.3.2/pyproject.toml +413 -0
  7. gatewaysdk-0.3.2/src/gatewaysdk/__init__.py +540 -0
  8. gatewaysdk-0.3.2/src/gatewaysdk/adapter/__init__.py +15 -0
  9. gatewaysdk-0.3.2/src/gatewaysdk/adapter/base.py +94 -0
  10. gatewaysdk-0.3.2/src/gatewaysdk/adapter/messages.py +270 -0
  11. gatewaysdk-0.3.2/src/gatewaysdk/adapter/triplet.py +1026 -0
  12. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/__init__.py +39 -0
  13. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/apo/__init__.py +5 -0
  14. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/apo/apo.py +898 -0
  15. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/apo/prompts/apply_edit_variant01.poml +22 -0
  16. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/apo/prompts/apply_edit_variant02.poml +18 -0
  17. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/apo/prompts/text_gradient_variant01.poml +18 -0
  18. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/apo/prompts/text_gradient_variant02.poml +16 -0
  19. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/apo/prompts/text_gradient_variant03.poml +107 -0
  20. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/base.py +262 -0
  21. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/decorator.py +264 -0
  22. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/evals/__init__.py +7 -0
  23. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/evals/evals.py +217 -0
  24. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/fast.py +250 -0
  25. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/__init__.py +61 -0
  26. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/adapter.py +495 -0
  27. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/gepa.py +570 -0
  28. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/__init__.py +18 -0
  29. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/README.md +12 -0
  30. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/__init__.py +0 -0
  31. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/anymaths_adapter/README.md +341 -0
  32. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/anymaths_adapter/__init__.py +1 -0
  33. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/anymaths_adapter/anymaths_adapter.py +174 -0
  34. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/anymaths_adapter/requirements.txt +1 -0
  35. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/default_adapter/README.md +0 -0
  36. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/default_adapter/__init__.py +0 -0
  37. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/default_adapter/default_adapter.py +209 -0
  38. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/dspy_adapter/README.md +7 -0
  39. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/dspy_adapter/__init__.py +0 -0
  40. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/dspy_adapter/dspy_adapter.py +307 -0
  41. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/dspy_full_program_adapter/README.md +99 -0
  42. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/dspy_full_program_adapter/dspy_program_proposal_signature.py +137 -0
  43. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/dspy_full_program_adapter/full_program_adapter.py +268 -0
  44. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/generic_rag_adapter/GEPA_RAG.md +621 -0
  45. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/generic_rag_adapter/__init__.py +56 -0
  46. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/generic_rag_adapter/evaluation_metrics.py +226 -0
  47. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/generic_rag_adapter/generic_rag_adapter.py +496 -0
  48. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/generic_rag_adapter/rag_pipeline.py +238 -0
  49. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/generic_rag_adapter/vector_store_interface.py +212 -0
  50. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/generic_rag_adapter/vector_stores/__init__.py +2 -0
  51. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/generic_rag_adapter/vector_stores/chroma_store.py +196 -0
  52. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/generic_rag_adapter/vector_stores/lancedb_store.py +422 -0
  53. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/generic_rag_adapter/vector_stores/milvus_store.py +409 -0
  54. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/generic_rag_adapter/vector_stores/qdrant_store.py +368 -0
  55. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/generic_rag_adapter/vector_stores/weaviate_store.py +418 -0
  56. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/mcp_adapter/README.md +552 -0
  57. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/mcp_adapter/__init__.py +37 -0
  58. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/mcp_adapter/mcp_adapter.py +699 -0
  59. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/mcp_adapter/mcp_client.py +364 -0
  60. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/terminal_bench_adapter/README.md +9 -0
  61. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/terminal_bench_adapter/__init__.py +0 -0
  62. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/adapters/terminal_bench_adapter/terminal_bench_adapter.py +217 -0
  63. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/api.py +382 -0
  64. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/core/__init__.py +0 -0
  65. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/core/adapter.py +180 -0
  66. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/core/data_loader.py +74 -0
  67. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/core/engine.py +379 -0
  68. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/core/result.py +233 -0
  69. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/core/state.py +636 -0
  70. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/examples/__init__.py +0 -0
  71. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/examples/aime.py +24 -0
  72. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/examples/anymaths-bench/eval_default.py +111 -0
  73. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/examples/anymaths-bench/prompt-templates/instruction_prompt.txt +9 -0
  74. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/examples/anymaths-bench/prompt-templates/optimal_prompt.txt +24 -0
  75. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/examples/anymaths-bench/train_anymaths.py +177 -0
  76. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/examples/dspy_full_program_evolution/arc_agi.ipynb +25705 -0
  77. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/examples/dspy_full_program_evolution/example.ipynb +348 -0
  78. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/examples/mcp_adapter/__init__.py +4 -0
  79. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/examples/mcp_adapter/mcp_optimization_example.py +456 -0
  80. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/examples/rag_adapter/RAG_GUIDE.md +613 -0
  81. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/examples/rag_adapter/__init__.py +9 -0
  82. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/examples/rag_adapter/rag_optimization.py +820 -0
  83. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/examples/rag_adapter/requirements-rag.txt +29 -0
  84. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/examples/terminal-bench/prompt-templates/instruction_prompt.txt +16 -0
  85. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/examples/terminal-bench/prompt-templates/terminus.txt +9 -0
  86. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/examples/terminal-bench/train_terminus.py +161 -0
  87. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/gepa_utils.py +117 -0
  88. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/logging/__init__.py +0 -0
  89. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/logging/experiment_tracker.py +187 -0
  90. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/logging/logger.py +75 -0
  91. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/logging/utils.py +103 -0
  92. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/proposer/__init__.py +0 -0
  93. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/proposer/base.py +31 -0
  94. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/proposer/merge.py +357 -0
  95. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/proposer/reflective_mutation/__init__.py +0 -0
  96. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/proposer/reflective_mutation/base.py +49 -0
  97. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/proposer/reflective_mutation/reflective_mutation.py +176 -0
  98. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/py.typed +0 -0
  99. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/strategies/__init__.py +0 -0
  100. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/strategies/batch_sampler.py +77 -0
  101. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/strategies/candidate_selector.py +50 -0
  102. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/strategies/component_selector.py +36 -0
  103. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/strategies/eval_policy.py +64 -0
  104. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/strategies/instruction_proposal.py +126 -0
  105. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/utils/__init__.py +10 -0
  106. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/lib/utils/stop_condition.py +196 -0
  107. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/gepa/tracing.py +105 -0
  108. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/utils.py +177 -0
  109. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/verl/__init__.py +5 -0
  110. gatewaysdk-0.3.2/src/gatewaysdk/algorithm/verl/interface.py +202 -0
  111. gatewaysdk-0.3.2/src/gatewaysdk/automations.py +111 -0
  112. gatewaysdk-0.3.2/src/gatewaysdk/benchmark_hub/README.md +88 -0
  113. gatewaysdk-0.3.2/src/gatewaysdk/benchmark_hub/__init__.py +119 -0
  114. gatewaysdk-0.3.2/src/gatewaysdk/benchmark_hub/_archive.py +189 -0
  115. gatewaysdk-0.3.2/src/gatewaysdk/benchmark_hub/_tar.py +6 -0
  116. gatewaysdk-0.3.2/src/gatewaysdk/benchmark_hub/client.py +992 -0
  117. gatewaysdk-0.3.2/src/gatewaysdk/benchmark_hub/dispatch_shard.py +34 -0
  118. gatewaysdk-0.3.2/src/gatewaysdk/benchmark_hub/eval_config.py +20 -0
  119. gatewaysdk-0.3.2/src/gatewaysdk/benchmark_hub/evals.py +351 -0
  120. gatewaysdk-0.3.2/src/gatewaysdk/benchmark_hub/harbor_adapter.py +673 -0
  121. gatewaysdk-0.3.2/src/gatewaysdk/benchmark_hub/path_utils.py +81 -0
  122. gatewaysdk-0.3.2/src/gatewaysdk/benchmark_hub/save_utils.py +101 -0
  123. gatewaysdk-0.3.2/src/gatewaysdk/benchmark_hub/verifiers_adapter.py +327 -0
  124. gatewaysdk-0.3.2/src/gatewaysdk/benchmark_hub/versioning.py +72 -0
  125. gatewaysdk-0.3.2/src/gatewaysdk/build.py +515 -0
  126. gatewaysdk-0.3.2/src/gatewaysdk/cli/__init__.py +58 -0
  127. gatewaysdk-0.3.2/src/gatewaysdk/cli/agent_runner.py +132 -0
  128. gatewaysdk-0.3.2/src/gatewaysdk/cli/http_client.py +115 -0
  129. gatewaysdk-0.3.2/src/gatewaysdk/cli/platform.py +4086 -0
  130. gatewaysdk-0.3.2/src/gatewaysdk/cli/prometheus.py +115 -0
  131. gatewaysdk-0.3.2/src/gatewaysdk/cli/release_gate.py +215 -0
  132. gatewaysdk-0.3.2/src/gatewaysdk/cli/store.py +131 -0
  133. gatewaysdk-0.3.2/src/gatewaysdk/cli/vllm.py +29 -0
  134. gatewaysdk-0.3.2/src/gatewaysdk/client.py +406 -0
  135. gatewaysdk-0.3.2/src/gatewaysdk/config.py +348 -0
  136. gatewaysdk-0.3.2/src/gatewaysdk/connectors/__init__.py +25 -0
  137. gatewaysdk-0.3.2/src/gatewaysdk/connectors/client.py +203 -0
  138. gatewaysdk-0.3.2/src/gatewaysdk/connectors/skill.py +25 -0
  139. gatewaysdk-0.3.2/src/gatewaysdk/connectors/template.py +106 -0
  140. gatewaysdk-0.3.2/src/gatewaysdk/context.py +606 -0
  141. gatewaysdk-0.3.2/src/gatewaysdk/emitter/__init__.py +43 -0
  142. gatewaysdk-0.3.2/src/gatewaysdk/emitter/annotation.py +370 -0
  143. gatewaysdk-0.3.2/src/gatewaysdk/emitter/exception.py +54 -0
  144. gatewaysdk-0.3.2/src/gatewaysdk/emitter/message.py +61 -0
  145. gatewaysdk-0.3.2/src/gatewaysdk/emitter/object.py +117 -0
  146. gatewaysdk-0.3.2/src/gatewaysdk/emitter/reward.py +320 -0
  147. gatewaysdk-0.3.2/src/gatewaysdk/env_var.py +156 -0
  148. gatewaysdk-0.3.2/src/gatewaysdk/environment/__init__.py +108 -0
  149. gatewaysdk-0.3.2/src/gatewaysdk/environment/_bundle.py +281 -0
  150. gatewaysdk-0.3.2/src/gatewaysdk/environment/_harbor.py +276 -0
  151. gatewaysdk-0.3.2/src/gatewaysdk/environment/_materialize.py +97 -0
  152. gatewaysdk-0.3.2/src/gatewaysdk/environment/_tar.py +33 -0
  153. gatewaysdk-0.3.2/src/gatewaysdk/environment/_world.py +346 -0
  154. gatewaysdk-0.3.2/src/gatewaysdk/environment/core.py +527 -0
  155. gatewaysdk-0.3.2/src/gatewaysdk/environment/errors.py +58 -0
  156. gatewaysdk-0.3.2/src/gatewaysdk/environment/runtime.py +150 -0
  157. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/__init__.py +35 -0
  158. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/__main__.py +225 -0
  159. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/_slack_fidelity.py +116 -0
  160. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/_slack_scenario.py +183 -0
  161. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/api.py +1628 -0
  162. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/batch.py +755 -0
  163. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/compiler.py +615 -0
  164. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/conform.py +428 -0
  165. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connector.py +777 -0
  166. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/apple-business-manager/handlers.py +17 -0
  167. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/apple-business-manager/parity.json +28 -0
  168. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/apple-business-manager/provenance.json +233 -0
  169. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/apple-business-manager/scope.toml +112 -0
  170. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/apple-business-manager/world.json +1380 -0
  171. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/base.json +28 -0
  172. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/custom/handlers.py +18 -0
  173. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/custom/world.json +123 -0
  174. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/github/handlers.py +81 -0
  175. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/github/parity.json +37 -0
  176. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/github/provenance.json +134 -0
  177. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/github/scope.toml +158 -0
  178. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/github/world.json +5869 -0
  179. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/google-calendar/handlers.py +23 -0
  180. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/google-calendar/world.json +209 -0
  181. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/google-drive/handlers.py +18 -0
  182. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/google-drive/world.json +286 -0
  183. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/jamf/handlers.py +34 -0
  184. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/jamf/parity.json +49 -0
  185. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/jamf/provenance.json +181 -0
  186. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/jamf/scope.toml +128 -0
  187. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/jamf/world.json +2218 -0
  188. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/jira/handlers.py +28 -0
  189. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/jira/world.json +389 -0
  190. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/kandji/handlers.py +38 -0
  191. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/kandji/parity.json +29 -0
  192. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/kandji/provenance.json +152 -0
  193. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/kandji/scope.toml +120 -0
  194. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/kandji/world.json +765 -0
  195. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/linear/handlers.py +20 -0
  196. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/linear/world.json +363 -0
  197. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/microsoft-teams/fidelity.json +45 -0
  198. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/microsoft-teams/handlers.py +1 -0
  199. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/microsoft-teams/provenance.json +851 -0
  200. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/microsoft-teams/scope.md +231 -0
  201. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/microsoft-teams/teams-types.json +1710 -0
  202. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/microsoft-teams/world.json +858 -0
  203. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/netsuite/handlers.py +32 -0
  204. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/netsuite/parity.json +50 -0
  205. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/netsuite/provenance.json +137 -0
  206. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/netsuite/scope.toml +78 -0
  207. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/netsuite/world.json +16243 -0
  208. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/salesforce/handlers.py +806 -0
  209. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/salesforce/parity.json +46 -0
  210. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/salesforce/provenance.json +143 -0
  211. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/salesforce/scope.toml +174 -0
  212. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/salesforce/world.json +4695 -0
  213. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/slack/MODEL.md +236 -0
  214. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/slack/capabilities.json +1039 -0
  215. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/slack/handlers.py +762 -0
  216. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/slack/parity.json +65 -0
  217. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/slack/provenance.json +294 -0
  218. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/slack/scope.toml +44 -0
  219. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/slack/world.json +4993 -0
  220. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/workday/handlers.py +75 -0
  221. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/workday/parity.json +36 -0
  222. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/workday/provenance.json +179 -0
  223. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/workday/scope.toml +180 -0
  224. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/connectors/workday/world.json +806 -0
  225. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/data.py +593 -0
  226. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/extract.py +263 -0
  227. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/host.py +2437 -0
  228. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/host_surfaces.py +275 -0
  229. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/platform.py +1272 -0
  230. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/scaffold.py +250 -0
  231. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/skill.py +118 -0
  232. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/skills/agents/connector-template-author.md +202 -0
  233. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/skills/connector-schema-authoring/CONNECTORS.md +331 -0
  234. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/skills/connector-schema-authoring/CONVENTIONS.md +100 -0
  235. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/skills/connector-schema-authoring/SKILL.md +313 -0
  236. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/skills/world-data-ingestion/ROWS.md +223 -0
  237. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/skills/world-data-ingestion/SKILL.md +293 -0
  238. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/skills/worlds-getting-started/SKILL.md +390 -0
  239. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/slack.py +757 -0
  240. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/snapshot.py +479 -0
  241. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/store.py +904 -0
  242. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/tasks.py +525 -0
  243. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/tools_world.py +322 -0
  244. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/validation.py +577 -0
  245. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/worker.py +78 -0
  246. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/workers.py +500 -0
  247. gatewaysdk-0.3.2/src/gatewaysdk/environment/schema/world_tests.py +336 -0
  248. gatewaysdk-0.3.2/src/gatewaysdk/environments/__init__.py +24 -0
  249. gatewaysdk-0.3.2/src/gatewaysdk/environments/client.py +486 -0
  250. gatewaysdk-0.3.2/src/gatewaysdk/environments/types.py +318 -0
  251. gatewaysdk-0.3.2/src/gatewaysdk/execution/__init__.py +15 -0
  252. gatewaysdk-0.3.2/src/gatewaysdk/execution/base.py +64 -0
  253. gatewaysdk-0.3.2/src/gatewaysdk/execution/client_server.py +443 -0
  254. gatewaysdk-0.3.2/src/gatewaysdk/execution/events.py +69 -0
  255. gatewaysdk-0.3.2/src/gatewaysdk/execution/inter_process.py +16 -0
  256. gatewaysdk-0.3.2/src/gatewaysdk/execution/shared_memory.py +282 -0
  257. gatewaysdk-0.3.2/src/gatewaysdk/experiments/__init__.py +90 -0
  258. gatewaysdk-0.3.2/src/gatewaysdk/experiments/assignment.py +177 -0
  259. gatewaysdk-0.3.2/src/gatewaysdk/experiments/client.py +877 -0
  260. gatewaysdk-0.3.2/src/gatewaysdk/experiments/exposure.py +222 -0
  261. gatewaysdk-0.3.2/src/gatewaysdk/experiments/types.py +81 -0
  262. gatewaysdk-0.3.2/src/gatewaysdk/importers/__init__.py +49 -0
  263. gatewaysdk-0.3.2/src/gatewaysdk/importers/_normalize.py +91 -0
  264. gatewaysdk-0.3.2/src/gatewaysdk/importers/builder.py +173 -0
  265. gatewaysdk-0.3.2/src/gatewaysdk/importers/client.py +95 -0
  266. gatewaysdk-0.3.2/src/gatewaysdk/importers/langsmith.py +196 -0
  267. gatewaysdk-0.3.2/src/gatewaysdk/importers/recipes.py +249 -0
  268. gatewaysdk-0.3.2/src/gatewaysdk/instrumentation/__init__.py +300 -0
  269. gatewaysdk-0.3.2/src/gatewaysdk/instrumentation/agentops.py +314 -0
  270. gatewaysdk-0.3.2/src/gatewaysdk/instrumentation/agentops_langchain.py +45 -0
  271. gatewaysdk-0.3.2/src/gatewaysdk/instrumentation/base.py +119 -0
  272. gatewaysdk-0.3.2/src/gatewaysdk/instrumentation/litellm.py +83 -0
  273. gatewaysdk-0.3.2/src/gatewaysdk/instrumentation/registry.py +273 -0
  274. gatewaysdk-0.3.2/src/gatewaysdk/instrumentation/vllm.py +81 -0
  275. gatewaysdk-0.3.2/src/gatewaysdk/instrumentation/weave.py +500 -0
  276. gatewaysdk-0.3.2/src/gatewaysdk/integrations/__init__.py +15 -0
  277. gatewaysdk-0.3.2/src/gatewaysdk/integrations/gateway/__init__.py +11 -0
  278. gatewaysdk-0.3.2/src/gatewaysdk/integrations/gateway/client.py +171 -0
  279. gatewaysdk-0.3.2/src/gatewaysdk/integrations/tool_access.py +549 -0
  280. gatewaysdk-0.3.2/src/gatewaysdk/litagent/__init__.py +11 -0
  281. gatewaysdk-0.3.2/src/gatewaysdk/litagent/decorator.py +536 -0
  282. gatewaysdk-0.3.2/src/gatewaysdk/litagent/litagent.py +252 -0
  283. gatewaysdk-0.3.2/src/gatewaysdk/llm_proxy.py +1742 -0
  284. gatewaysdk-0.3.2/src/gatewaysdk/logging.py +370 -0
  285. gatewaysdk-0.3.2/src/gatewaysdk/memory.py +278 -0
  286. gatewaysdk-0.3.2/src/gatewaysdk/personas.py +186 -0
  287. gatewaysdk-0.3.2/src/gatewaysdk/platform/__init__.py +17 -0
  288. gatewaysdk-0.3.2/src/gatewaysdk/platform/builder.py +221 -0
  289. gatewaysdk-0.3.2/src/gatewaysdk/platform/compatibility.py +67 -0
  290. gatewaysdk-0.3.2/src/gatewaysdk/platform/manifest.py +185 -0
  291. gatewaysdk-0.3.2/src/gatewaysdk/platform/orchestrator.py +901 -0
  292. gatewaysdk-0.3.2/src/gatewaysdk/platform/registry.py +122 -0
  293. gatewaysdk-0.3.2/src/gatewaysdk/platform/worker.py +864 -0
  294. gatewaysdk-0.3.2/src/gatewaysdk/replay/__init__.py +1032 -0
  295. gatewaysdk-0.3.2/src/gatewaysdk/replay/pytest.py +56 -0
  296. gatewaysdk-0.3.2/src/gatewaysdk/reward.py +7 -0
  297. gatewaysdk-0.3.2/src/gatewaysdk/run.py +1781 -0
  298. gatewaysdk-0.3.2/src/gatewaysdk/runner/__init__.py +11 -0
  299. gatewaysdk-0.3.2/src/gatewaysdk/runner/agent.py +878 -0
  300. gatewaysdk-0.3.2/src/gatewaysdk/runner/base.py +182 -0
  301. gatewaysdk-0.3.2/src/gatewaysdk/runner/legacy.py +309 -0
  302. gatewaysdk-0.3.2/src/gatewaysdk/security.py +700 -0
  303. gatewaysdk-0.3.2/src/gatewaysdk/semconv.py +170 -0
  304. gatewaysdk-0.3.2/src/gatewaysdk/server.py +399 -0
  305. gatewaysdk-0.3.2/src/gatewaysdk/sessions.py +282 -0
  306. gatewaysdk-0.3.2/src/gatewaysdk/store/__init__.py +45 -0
  307. gatewaysdk-0.3.2/src/gatewaysdk/store/base.py +908 -0
  308. gatewaysdk-0.3.2/src/gatewaysdk/store/client_server.py +2093 -0
  309. gatewaysdk-0.3.2/src/gatewaysdk/store/collection/__init__.py +30 -0
  310. gatewaysdk-0.3.2/src/gatewaysdk/store/collection/base.py +587 -0
  311. gatewaysdk-0.3.2/src/gatewaysdk/store/collection/memory.py +970 -0
  312. gatewaysdk-0.3.2/src/gatewaysdk/store/collection/mongo.py +1412 -0
  313. gatewaysdk-0.3.2/src/gatewaysdk/store/collection_based.py +1823 -0
  314. gatewaysdk-0.3.2/src/gatewaysdk/store/gateway.py +983 -0
  315. gatewaysdk-0.3.2/src/gatewaysdk/store/gateway_listener.py +465 -0
  316. gatewaysdk-0.3.2/src/gatewaysdk/store/listener.py +58 -0
  317. gatewaysdk-0.3.2/src/gatewaysdk/store/memory.py +396 -0
  318. gatewaysdk-0.3.2/src/gatewaysdk/store/mongo.py +165 -0
  319. gatewaysdk-0.3.2/src/gatewaysdk/store/redis_stream.py +517 -0
  320. gatewaysdk-0.3.2/src/gatewaysdk/store/sqlite.py +3 -0
  321. gatewaysdk-0.3.2/src/gatewaysdk/store/threading.py +370 -0
  322. gatewaysdk-0.3.2/src/gatewaysdk/store/utils.py +142 -0
  323. gatewaysdk-0.3.2/src/gatewaysdk/tracer/__init__.py +14 -0
  324. gatewaysdk-0.3.2/src/gatewaysdk/tracer/base.py +286 -0
  325. gatewaysdk-0.3.2/src/gatewaysdk/tracer/dummy.py +106 -0
  326. gatewaysdk-0.3.2/src/gatewaysdk/tracer/otel.py +559 -0
  327. gatewaysdk-0.3.2/src/gatewaysdk/tracing/__init__.py +110 -0
  328. gatewaysdk-0.3.2/src/gatewaysdk/tracing/api.py +808 -0
  329. gatewaysdk-0.3.2/src/gatewaysdk/tracing/attributes.py +9 -0
  330. gatewaysdk-0.3.2/src/gatewaysdk/tracing/context.py +272 -0
  331. gatewaysdk-0.3.2/src/gatewaysdk/tracing/exporters/__init__.py +10 -0
  332. gatewaysdk-0.3.2/src/gatewaysdk/tracing/exporters/gateway.py +228 -0
  333. gatewaysdk-0.3.2/src/gatewaysdk/tracing/identity.py +288 -0
  334. gatewaysdk-0.3.2/src/gatewaysdk/tracing/init.py +620 -0
  335. gatewaysdk-0.3.2/src/gatewaysdk/tracing/instrumentors/__init__.py +15 -0
  336. gatewaysdk-0.3.2/src/gatewaysdk/tracing/instrumentors/claude_agent_sdk.py +766 -0
  337. gatewaysdk-0.3.2/src/gatewaysdk/tracing/instrumentors/instrumentation_principles.md +294 -0
  338. gatewaysdk-0.3.2/src/gatewaysdk/tracing/instrumentors/registry.py +352 -0
  339. gatewaysdk-0.3.2/src/gatewaysdk/tracing/mapping.py +729 -0
  340. gatewaysdk-0.3.2/src/gatewaysdk/tracing/processors.py +393 -0
  341. gatewaysdk-0.3.2/src/gatewaysdk/tracing/push.py +617 -0
  342. gatewaysdk-0.3.2/src/gatewaysdk/tracing/push_models.py +247 -0
  343. gatewaysdk-0.3.2/src/gatewaysdk/tracing/semconv.py +294 -0
  344. gatewaysdk-0.3.2/src/gatewaysdk/tracing/span_builder.py +356 -0
  345. gatewaysdk-0.3.2/src/gatewaysdk/trainer/__init__.py +6 -0
  346. gatewaysdk-0.3.2/src/gatewaysdk/trainer/init_utils.py +263 -0
  347. gatewaysdk-0.3.2/src/gatewaysdk/trainer/legacy.py +359 -0
  348. gatewaysdk-0.3.2/src/gatewaysdk/trainer/registry.py +12 -0
  349. gatewaysdk-0.3.2/src/gatewaysdk/trainer/trainer.py +638 -0
  350. gatewaysdk-0.3.2/src/gatewaysdk/types/__init__.py +63 -0
  351. gatewaysdk-0.3.2/src/gatewaysdk/types/core.py +556 -0
  352. gatewaysdk-0.3.2/src/gatewaysdk/types/resources.py +204 -0
  353. gatewaysdk-0.3.2/src/gatewaysdk/types/tracer.py +515 -0
  354. gatewaysdk-0.3.2/src/gatewaysdk/types/tracing.py +162 -0
  355. gatewaysdk-0.3.2/src/gatewaysdk/users.py +251 -0
  356. gatewaysdk-0.3.2/src/gatewaysdk/utils/__init__.py +1 -0
  357. gatewaysdk-0.3.2/src/gatewaysdk/utils/id.py +18 -0
  358. gatewaysdk-0.3.2/src/gatewaysdk/utils/metrics.py +1025 -0
  359. gatewaysdk-0.3.2/src/gatewaysdk/utils/otel.py +550 -0
  360. gatewaysdk-0.3.2/src/gatewaysdk/utils/otlp.py +556 -0
  361. gatewaysdk-0.3.2/src/gatewaysdk/utils/redact.py +22 -0
  362. gatewaysdk-0.3.2/src/gatewaysdk/utils/server_launcher.py +1045 -0
  363. gatewaysdk-0.3.2/src/gatewaysdk/utils/system_snapshot.py +90 -0
  364. gatewaysdk-0.3.2/src/gatewaysdk/verl/__init__.py +8 -0
  365. gatewaysdk-0.3.2/src/gatewaysdk/verl/__main__.py +6 -0
  366. gatewaysdk-0.3.2/src/gatewaysdk/verl/async_server.py +46 -0
  367. gatewaysdk-0.3.2/src/gatewaysdk/verl/config.yaml +27 -0
  368. gatewaysdk-0.3.2/src/gatewaysdk/verl/daemon.py +1154 -0
  369. gatewaysdk-0.3.2/src/gatewaysdk/verl/dataset.py +44 -0
  370. gatewaysdk-0.3.2/src/gatewaysdk/verl/entrypoint.py +248 -0
  371. gatewaysdk-0.3.2/src/gatewaysdk/verl/trainer.py +549 -0
  372. gatewaysdk-0.3.2/src/gatewaysdk/world_browser.py +748 -0
  373. gatewaysdk-0.3.2/src/gatewaysdk/world_data.py +453 -0
  374. gatewaysdk-0.3.2/src/gatewaysdk/world_sessions.py +978 -0
  375. gatewaysdk-0.3.2/src/gatewaysdk/world_tasks.py +285 -0
  376. gatewaysdk-0.3.2/src/gatewaysdk/world_tools.py +115 -0
  377. gatewaysdk-0.3.2/src/gatewaysdk/worlds.py +639 -0
  378. gatewaysdk-0.3.2/uv.lock +17024 -0
@@ -0,0 +1,95 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ *.egg-info/
24
+ .installed.cfg
25
+ *.egg
26
+
27
+ # Allow vendored GEPA library (hard fork)
28
+ !src/gatewaysdk/algorithm/gepa/lib/
29
+ !src/gatewaysdk/algorithm/gepa/lib/**
30
+ src/gatewaysdk/algorithm/gepa/lib/**/__pycache__/
31
+
32
+ # PyInstaller
33
+ *.manifest
34
+ *.spec
35
+
36
+ # Installer logs
37
+ pip-log.txt
38
+ pip-delete-this-directory.txt
39
+
40
+ # Unit test / coverage reports
41
+ htmlcov/
42
+ .tox/
43
+ .nox/
44
+ .coverage
45
+ .coverage.*
46
+ .cache
47
+ nosetests.xml
48
+ coverage.xml
49
+ *.cover
50
+ *.py,cover
51
+ .hypothesis/
52
+ .pytest_cache/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Environments
59
+ .env
60
+ .venv
61
+ env/
62
+ venv/
63
+ ENV/
64
+ env.bak/
65
+ venv.bak/
66
+
67
+ # IDE
68
+ .idea/
69
+ .vscode/
70
+ *.swp
71
+ *.swo
72
+ *~
73
+
74
+ # Jupyter Notebook
75
+ .ipynb_checkpoints
76
+
77
+ # pyenv
78
+ .python-version
79
+
80
+ # mypy
81
+ .mypy_cache/
82
+ .dmypy.json
83
+ dmypy.json
84
+
85
+ # Pyright
86
+ .pyright/
87
+
88
+ # OS
89
+ .DS_Store
90
+ Thumbs.db
91
+
92
+ # Project specific
93
+ data/
94
+ logs/
95
+ *.log
@@ -0,0 +1,19 @@
1
+ The MIT License (MIT)
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
@@ -0,0 +1,236 @@
1
+ Metadata-Version: 2.5
2
+ Name: gatewaysdk
3
+ Version: 0.3.2
4
+ Summary: Gateway SDK for Python - tracing, worlds, evaluation and the gateway CLI runtime
5
+ Project-URL: Homepage, https://withgateway.ai
6
+ Project-URL: Documentation, https://withgateway.ai/docs
7
+ Project-URL: Repository, https://github.com/Gateway-Innovations/Gateway
8
+ Project-URL: Issues, https://github.com/Gateway-Innovations/Gateway/issues
9
+ Author-email: Gateway Team <team@withgateway.ai>
10
+ License: MIT
11
+ License-File: LICENSE
12
+ Keywords: agents,ai,evaluation,gateway,llm,observability,reinforcement-learning,training
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
21
+ Requires-Python: >=3.10
22
+ Requires-Dist: aiohttp
23
+ Requires-Dist: aiologic
24
+ Requires-Dist: fastapi
25
+ Requires-Dist: flask
26
+ Requires-Dist: gepa>=0.0.24
27
+ Requires-Dist: gitignore-parser>=0.1.11
28
+ Requires-Dist: graphviz
29
+ Requires-Dist: gunicorn
30
+ Requires-Dist: litellm>=1.74
31
+ Requires-Dist: openai
32
+ Requires-Dist: opentelemetry-api>=1.35
33
+ Requires-Dist: opentelemetry-exporter-otlp>=1.35
34
+ Requires-Dist: opentelemetry-sdk>=1.35
35
+ Requires-Dist: portpicker
36
+ Requires-Dist: psutil
37
+ Requires-Dist: pydantic>=2.11
38
+ Requires-Dist: requests>=2.31.0
39
+ Requires-Dist: rich
40
+ Requires-Dist: setproctitle
41
+ Requires-Dist: tomli<3,>=2.2.1; python_version < '3.11'
42
+ Requires-Dist: uvicorn
43
+ Requires-Dist: uvicorn-worker
44
+ Provides-Extra: agent
45
+ Requires-Dist: agentops>=0.4.13; extra == 'agent'
46
+ Requires-Dist: aiohttp>=3.8.0; extra == 'agent'
47
+ Requires-Dist: typer>=0.9.0; extra == 'agent'
48
+ Provides-Extra: apo
49
+ Requires-Dist: poml; extra == 'apo'
50
+ Provides-Extra: gpu-monitoring
51
+ Requires-Dist: gpustat; extra == 'gpu-monitoring'
52
+ Provides-Extra: mongo
53
+ Requires-Dist: pymongo; extra == 'mongo'
54
+ Provides-Extra: platform
55
+ Requires-Dist: httpx>=0.24.0; extra == 'platform'
56
+ Requires-Dist: jsonschema>=4.0.0; extra == 'platform'
57
+ Requires-Dist: pyyaml>=6.0; extra == 'platform'
58
+ Requires-Dist: typer>=0.9.0; extra == 'platform'
59
+ Provides-Extra: proxy
60
+ Requires-Dist: litellm[proxy]>=1.74; extra == 'proxy'
61
+ Provides-Extra: tracing
62
+ Requires-Dist: openinference-instrumentation-anthropic; extra == 'tracing'
63
+ Requires-Dist: openinference-instrumentation-litellm; extra == 'tracing'
64
+ Requires-Dist: openinference-instrumentation-openai; extra == 'tracing'
65
+ Requires-Dist: openinference-instrumentation-openai-agents; extra == 'tracing'
66
+ Provides-Extra: trainer
67
+ Requires-Dist: litellm[proxy]>=1.74; extra == 'trainer'
68
+ Provides-Extra: verl
69
+ Requires-Dist: verl>=0.5.0; extra == 'verl'
70
+ Requires-Dist: vllm>=0.8.4; extra == 'verl'
71
+ Provides-Extra: weave
72
+ Requires-Dist: weave>=0.52.22; extra == 'weave'
73
+ Provides-Extra: worker
74
+ Requires-Dist: bullmq>=2.19.4; extra == 'worker'
75
+ Requires-Dist: docker>=7.0.0; extra == 'worker'
76
+ Requires-Dist: httpx>=0.24.0; extra == 'worker'
77
+ Requires-Dist: redis>=5.0.0; extra == 'worker'
78
+ Requires-Dist: typer>=0.9.0; extra == 'worker'
79
+ Description-Content-Type: text/markdown
80
+
81
+ # GatewaySDK
82
+
83
+ [![PyPI version](https://badge.fury.io/py/gatewaysdk.svg)](https://badge.fury.io/py/gatewaysdk)
84
+ [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
85
+
86
+ **AI Agent Training and Evaluation Platform**
87
+
88
+ GatewaySDK is a comprehensive toolkit for training and evaluating AI agents using reinforcement learning, automatic prompt optimization, and supervised fine-tuning.
89
+
90
+ ## Core Features
91
+
92
+ - Turn your agent into an optimizable beast with **minimal code changes**
93
+ - Build with **any** agent framework (LangChain, OpenAI Agent SDK, AutoGen, CrewAI, and more)
94
+ - **Selectively** optimize one or more agents in a multi-agent system
95
+ - Embraces **algorithms** like Reinforcement Learning, Automatic Prompt Optimization, Supervised Fine-tuning and more
96
+
97
+ ## Installation
98
+
99
+ ```bash
100
+ pip install gatewaysdk
101
+ ```
102
+
103
+ For optional dependencies:
104
+
105
+ ```bash
106
+ # For LLMProxy feature (note: has strict dependency pins for boto3, grpcio, uvicorn)
107
+ pip install 'gatewaysdk[proxy]'
108
+
109
+ # For Trainer (includes the proxy runtime it composes)
110
+ pip install 'gatewaysdk[trainer]'
111
+
112
+ # For GPU statistics in runner heartbeat snapshots
113
+ pip install 'gatewaysdk[gpu-monitoring]'
114
+
115
+ # For APO (Automatic Prompt Optimization)
116
+ pip install 'gatewaysdk[apo]'
117
+
118
+ # For VERL integration
119
+ pip install 'gatewaysdk[verl]'
120
+
121
+ # For Weave integration
122
+ pip install 'gatewaysdk[weave]'
123
+
124
+ # For MongoDB store
125
+ pip install 'gatewaysdk[mongo]'
126
+ ```
127
+
128
+ ## Quick Start
129
+
130
+ ```python
131
+ from gatewaysdk import GatewayIngestionClient
132
+
133
+ # Reads GATEWAY_HOST, GATEWAY_PUBLIC_KEY, and GATEWAY_SECRET_KEY.
134
+ client = GatewayIngestionClient.from_env()
135
+
136
+ # Your agent code here...
137
+ ```
138
+
139
+ ## Gateway Ingestion Helpers
140
+
141
+ Use these helpers when you want to send external agent traces/scores directly to
142
+ a Gateway instance.
143
+
144
+ ### 1) Gateway ingestion client
145
+
146
+ ```python
147
+ from gatewaysdk import GatewayIngestionClient, GatewayIngestionConfig
148
+
149
+ client = GatewayIngestionClient(
150
+ GatewayIngestionConfig(
151
+ host="http://localhost:3000",
152
+ public_key="pk-lf-...",
153
+ secret_key="sk-lf-...",
154
+ )
155
+ )
156
+
157
+ # Send trace event
158
+ client.ingest_trace_event(
159
+ trace_id="trace-001",
160
+ name="Agent Trace",
161
+ input_data={"prompt": "hello"},
162
+ output_data={"answer": "world"},
163
+ session_id="session-001",
164
+ environment="default",
165
+ )
166
+
167
+ # Send scores efficiently in batches
168
+ client.send_scores(
169
+ [
170
+ {"name": "task_success", "value": 0.95, "dataType": "NUMERIC", "traceId": "trace-001"},
171
+ {"name": "safety", "value": 1, "dataType": "BOOLEAN", "traceId": "trace-001"},
172
+ ],
173
+ mode="ingestion-batch",
174
+ )
175
+ ```
176
+
177
+ ### 2) Simple API wrapper sample (dependency-free)
178
+
179
+ For a minimal stdlib-only helper and examples, see:
180
+ `samples/gateway-agent-trace-wrapper/`.
181
+
182
+ ## Security Wrapper
183
+
184
+ Use the security wrapper when Gateway should decide which native tools an
185
+ agent can see and execute. Your framework keeps owning the tools; Gateway
186
+ resolves policy, hides denied tools in filter/enforce modes, authorizes before
187
+ execution, and stamps OpenTelemetry security attributes when tracing is active.
188
+
189
+ ```python
190
+ from gatewaysdk import GatewaySecurity
191
+
192
+ gw = GatewaySecurity.from_env(
193
+ agent={
194
+ "id": "support-triage",
195
+ "name": "Support Triage",
196
+ "version": "1.4.2",
197
+ }
198
+ )
199
+
200
+ def search_tickets(query: str) -> list[dict]:
201
+ return zendesk.search(query)
202
+
203
+ def delete_ticket(ticket_id: str) -> dict:
204
+ return zendesk.delete(ticket_id)
205
+
206
+ tools = gw.secure_tools(
207
+ toolset_id="zendesk",
208
+ provider="zendesk",
209
+ tools=[search_tickets, delete_ticket],
210
+ context={
211
+ "user_id": current_user.id,
212
+ "team_id": "support",
213
+ "environment": "production",
214
+ "trace_id": trace_id,
215
+ "session_id": session_id,
216
+ },
217
+ )
218
+ ```
219
+
220
+ ## CLI Usage
221
+
222
+ ```bash
223
+ # Start the GatewaySDK server
224
+ msk store serve
225
+
226
+ # Run with vLLM
227
+ msk vllm start
228
+ ```
229
+
230
+ ## Documentation
231
+
232
+ For full documentation, visit [https://docs.gateway.dev/gatewaysdk/](https://docs.gateway.dev/gatewaysdk/)
233
+
234
+ ## License
235
+
236
+ MIT License - see [LICENSE](LICENSE) for details.
@@ -0,0 +1,95 @@
1
+ # Publishing GatewaySDK to PyPI
2
+
3
+ This document describes how to set up and publish the GatewaySDK package to PyPI.
4
+
5
+ GatewaySDK is part of the Gateway monorepo and is published from `gatewaysdk/sdk/`.
6
+
7
+ ## Prerequisites
8
+
9
+ 1. A PyPI account (https://pypi.org/account/register/)
10
+ 2. A TestPyPI account (https://test.pypi.org/account/register/)
11
+ 3. The package built and ready to publish
12
+
13
+ ## Setting Up Trusted Publishing (Recommended)
14
+
15
+ Trusted publishing uses OpenID Connect (OIDC) to authenticate with PyPI without needing API tokens.
16
+
17
+ ### Step 1: Reserve the Package Name on PyPI
18
+
19
+ 1. Go to https://pypi.org/manage/account/publishing/
20
+ 2. Click "Add a new pending publisher"
21
+ 3. Fill in the details:
22
+ - **PyPI Project Name**: `gatewaysdk`
23
+ - **Owner**: Your GitHub organization or username (e.g., `gateway`)
24
+ - **Repository name**: `gateway`
25
+ - **Workflow name**: `gatewaysdk-pypi-release.yml`
26
+ - **Environment name**: (leave blank or use `release`)
27
+ 4. Click "Add"
28
+
29
+ ### Step 2: Set Up TestPyPI (Optional but Recommended)
30
+
31
+ 1. Go to https://test.pypi.org/manage/account/publishing/
32
+ 2. Follow the same steps as above for TestPyPI (use `gatewaysdk-pypi-nightly.yml`)
33
+
34
+ ### Step 3: Verify GitHub Actions
35
+
36
+ The workflows are configured in the gateway repo root `.github/workflows/`:
37
+
38
+ - `gatewaysdk-pypi-release.yml` - Publishes to PyPI when you push a tag like `gatewaysdk-v0.1.0`
39
+ - `gatewaysdk-pypi-nightly.yml` - Publishes nightly builds to TestPyPI
40
+ - `gatewaysdk-test.yml` - Runs tests on changes to `gatewaysdk/sdk/`
41
+
42
+ ## Manual Publishing (Alternative)
43
+
44
+ If you need to publish manually:
45
+
46
+ ```bash
47
+ # Install build tools
48
+ pip install build twine
49
+
50
+ # Build the package
51
+ python -m build
52
+
53
+ # Upload to TestPyPI first
54
+ python -m twine upload --repository testpypi dist/*
55
+
56
+ # Test installation from TestPyPI
57
+ pip install --index-url https://test.pypi.org/simple/ \
58
+ --extra-index-url https://pypi.org/simple/ gatewaysdk
59
+
60
+ # Upload to PyPI
61
+ python -m twine upload dist/*
62
+ ```
63
+
64
+ ## Releasing a New Version
65
+
66
+ 1. Update the version in `gatewaysdk/sdk/pyproject.toml` and `gatewaysdk/sdk/src/gatewaysdk/__init__.py`
67
+ 2. Commit the changes
68
+ 3. Create and push a version tag (note the `gatewaysdk-` prefix):
69
+ ```bash
70
+ git tag gatewaysdk-v0.1.0
71
+ git push origin gatewaysdk-v0.1.0
72
+ ```
73
+ 4. GitHub Actions will automatically build and publish to PyPI
74
+
75
+ ## Version Numbering
76
+
77
+ We follow semantic versioning (SemVer):
78
+
79
+ - **MAJOR.MINOR.PATCH** (e.g., `0.1.0`)
80
+ - Increment MAJOR for breaking changes
81
+ - Increment MINOR for new features
82
+ - Increment PATCH for bug fixes
83
+
84
+ ## Troubleshooting
85
+
86
+ ### "Project not found" error
87
+
88
+ Make sure you've set up the pending publisher on PyPI before pushing the first release tag.
89
+
90
+ ### "Authentication failed" error
91
+
92
+ Verify that:
93
+ 1. The workflow file name matches what you configured on PyPI
94
+ 2. The repository owner/name matches
95
+ 3. The `id-token: write` permission is set in the workflow
@@ -0,0 +1,156 @@
1
+ # GatewaySDK
2
+
3
+ [![PyPI version](https://badge.fury.io/py/gatewaysdk.svg)](https://badge.fury.io/py/gatewaysdk)
4
+ [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
5
+
6
+ **AI Agent Training and Evaluation Platform**
7
+
8
+ GatewaySDK is a comprehensive toolkit for training and evaluating AI agents using reinforcement learning, automatic prompt optimization, and supervised fine-tuning.
9
+
10
+ ## Core Features
11
+
12
+ - Turn your agent into an optimizable beast with **minimal code changes**
13
+ - Build with **any** agent framework (LangChain, OpenAI Agent SDK, AutoGen, CrewAI, and more)
14
+ - **Selectively** optimize one or more agents in a multi-agent system
15
+ - Embraces **algorithms** like Reinforcement Learning, Automatic Prompt Optimization, Supervised Fine-tuning and more
16
+
17
+ ## Installation
18
+
19
+ ```bash
20
+ pip install gatewaysdk
21
+ ```
22
+
23
+ For optional dependencies:
24
+
25
+ ```bash
26
+ # For LLMProxy feature (note: has strict dependency pins for boto3, grpcio, uvicorn)
27
+ pip install 'gatewaysdk[proxy]'
28
+
29
+ # For Trainer (includes the proxy runtime it composes)
30
+ pip install 'gatewaysdk[trainer]'
31
+
32
+ # For GPU statistics in runner heartbeat snapshots
33
+ pip install 'gatewaysdk[gpu-monitoring]'
34
+
35
+ # For APO (Automatic Prompt Optimization)
36
+ pip install 'gatewaysdk[apo]'
37
+
38
+ # For VERL integration
39
+ pip install 'gatewaysdk[verl]'
40
+
41
+ # For Weave integration
42
+ pip install 'gatewaysdk[weave]'
43
+
44
+ # For MongoDB store
45
+ pip install 'gatewaysdk[mongo]'
46
+ ```
47
+
48
+ ## Quick Start
49
+
50
+ ```python
51
+ from gatewaysdk import GatewayIngestionClient
52
+
53
+ # Reads GATEWAY_HOST, GATEWAY_PUBLIC_KEY, and GATEWAY_SECRET_KEY.
54
+ client = GatewayIngestionClient.from_env()
55
+
56
+ # Your agent code here...
57
+ ```
58
+
59
+ ## Gateway Ingestion Helpers
60
+
61
+ Use these helpers when you want to send external agent traces/scores directly to
62
+ a Gateway instance.
63
+
64
+ ### 1) Gateway ingestion client
65
+
66
+ ```python
67
+ from gatewaysdk import GatewayIngestionClient, GatewayIngestionConfig
68
+
69
+ client = GatewayIngestionClient(
70
+ GatewayIngestionConfig(
71
+ host="http://localhost:3000",
72
+ public_key="pk-lf-...",
73
+ secret_key="sk-lf-...",
74
+ )
75
+ )
76
+
77
+ # Send trace event
78
+ client.ingest_trace_event(
79
+ trace_id="trace-001",
80
+ name="Agent Trace",
81
+ input_data={"prompt": "hello"},
82
+ output_data={"answer": "world"},
83
+ session_id="session-001",
84
+ environment="default",
85
+ )
86
+
87
+ # Send scores efficiently in batches
88
+ client.send_scores(
89
+ [
90
+ {"name": "task_success", "value": 0.95, "dataType": "NUMERIC", "traceId": "trace-001"},
91
+ {"name": "safety", "value": 1, "dataType": "BOOLEAN", "traceId": "trace-001"},
92
+ ],
93
+ mode="ingestion-batch",
94
+ )
95
+ ```
96
+
97
+ ### 2) Simple API wrapper sample (dependency-free)
98
+
99
+ For a minimal stdlib-only helper and examples, see:
100
+ `samples/gateway-agent-trace-wrapper/`.
101
+
102
+ ## Security Wrapper
103
+
104
+ Use the security wrapper when Gateway should decide which native tools an
105
+ agent can see and execute. Your framework keeps owning the tools; Gateway
106
+ resolves policy, hides denied tools in filter/enforce modes, authorizes before
107
+ execution, and stamps OpenTelemetry security attributes when tracing is active.
108
+
109
+ ```python
110
+ from gatewaysdk import GatewaySecurity
111
+
112
+ gw = GatewaySecurity.from_env(
113
+ agent={
114
+ "id": "support-triage",
115
+ "name": "Support Triage",
116
+ "version": "1.4.2",
117
+ }
118
+ )
119
+
120
+ def search_tickets(query: str) -> list[dict]:
121
+ return zendesk.search(query)
122
+
123
+ def delete_ticket(ticket_id: str) -> dict:
124
+ return zendesk.delete(ticket_id)
125
+
126
+ tools = gw.secure_tools(
127
+ toolset_id="zendesk",
128
+ provider="zendesk",
129
+ tools=[search_tickets, delete_ticket],
130
+ context={
131
+ "user_id": current_user.id,
132
+ "team_id": "support",
133
+ "environment": "production",
134
+ "trace_id": trace_id,
135
+ "session_id": session_id,
136
+ },
137
+ )
138
+ ```
139
+
140
+ ## CLI Usage
141
+
142
+ ```bash
143
+ # Start the GatewaySDK server
144
+ msk store serve
145
+
146
+ # Run with vLLM
147
+ msk vllm start
148
+ ```
149
+
150
+ ## Documentation
151
+
152
+ For full documentation, visit [https://docs.gateway.dev/gatewaysdk/](https://docs.gateway.dev/gatewaysdk/)
153
+
154
+ ## License
155
+
156
+ MIT License - see [LICENSE](LICENSE) for details.