mirascope 2.0.0a2__py3-none-any.whl → 2.0.0a4__py3-none-any.whl

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 (252) hide show
  1. mirascope/__init__.py +2 -2
  2. mirascope/api/__init__.py +6 -0
  3. mirascope/api/_generated/README.md +207 -0
  4. mirascope/api/_generated/__init__.py +141 -0
  5. mirascope/api/_generated/client.py +163 -0
  6. mirascope/api/_generated/core/__init__.py +52 -0
  7. mirascope/api/_generated/core/api_error.py +23 -0
  8. mirascope/api/_generated/core/client_wrapper.py +58 -0
  9. mirascope/api/_generated/core/datetime_utils.py +30 -0
  10. mirascope/api/_generated/core/file.py +70 -0
  11. mirascope/api/_generated/core/force_multipart.py +16 -0
  12. mirascope/api/_generated/core/http_client.py +619 -0
  13. mirascope/api/_generated/core/http_response.py +55 -0
  14. mirascope/api/_generated/core/jsonable_encoder.py +102 -0
  15. mirascope/api/_generated/core/pydantic_utilities.py +310 -0
  16. mirascope/api/_generated/core/query_encoder.py +60 -0
  17. mirascope/api/_generated/core/remove_none_from_dict.py +11 -0
  18. mirascope/api/_generated/core/request_options.py +35 -0
  19. mirascope/api/_generated/core/serialization.py +282 -0
  20. mirascope/api/_generated/docs/__init__.py +4 -0
  21. mirascope/api/_generated/docs/client.py +95 -0
  22. mirascope/api/_generated/docs/raw_client.py +132 -0
  23. mirascope/api/_generated/environment.py +9 -0
  24. mirascope/api/_generated/errors/__init__.py +17 -0
  25. mirascope/api/_generated/errors/bad_request_error.py +15 -0
  26. mirascope/api/_generated/errors/conflict_error.py +15 -0
  27. mirascope/api/_generated/errors/forbidden_error.py +15 -0
  28. mirascope/api/_generated/errors/internal_server_error.py +15 -0
  29. mirascope/api/_generated/errors/not_found_error.py +15 -0
  30. mirascope/api/_generated/health/__init__.py +7 -0
  31. mirascope/api/_generated/health/client.py +96 -0
  32. mirascope/api/_generated/health/raw_client.py +129 -0
  33. mirascope/api/_generated/health/types/__init__.py +8 -0
  34. mirascope/api/_generated/health/types/health_check_response.py +24 -0
  35. mirascope/api/_generated/health/types/health_check_response_status.py +5 -0
  36. mirascope/api/_generated/organizations/__init__.py +25 -0
  37. mirascope/api/_generated/organizations/client.py +380 -0
  38. mirascope/api/_generated/organizations/raw_client.py +876 -0
  39. mirascope/api/_generated/organizations/types/__init__.py +23 -0
  40. mirascope/api/_generated/organizations/types/organizations_create_response.py +24 -0
  41. mirascope/api/_generated/organizations/types/organizations_create_response_role.py +7 -0
  42. mirascope/api/_generated/organizations/types/organizations_get_response.py +24 -0
  43. mirascope/api/_generated/organizations/types/organizations_get_response_role.py +7 -0
  44. mirascope/api/_generated/organizations/types/organizations_list_response_item.py +24 -0
  45. mirascope/api/_generated/organizations/types/organizations_list_response_item_role.py +7 -0
  46. mirascope/api/_generated/organizations/types/organizations_update_response.py +24 -0
  47. mirascope/api/_generated/organizations/types/organizations_update_response_role.py +7 -0
  48. mirascope/api/_generated/projects/__init__.py +17 -0
  49. mirascope/api/_generated/projects/client.py +458 -0
  50. mirascope/api/_generated/projects/raw_client.py +1016 -0
  51. mirascope/api/_generated/projects/types/__init__.py +15 -0
  52. mirascope/api/_generated/projects/types/projects_create_response.py +30 -0
  53. mirascope/api/_generated/projects/types/projects_get_response.py +30 -0
  54. mirascope/api/_generated/projects/types/projects_list_response_item.py +30 -0
  55. mirascope/api/_generated/projects/types/projects_update_response.py +30 -0
  56. mirascope/api/_generated/reference.md +753 -0
  57. mirascope/api/_generated/traces/__init__.py +55 -0
  58. mirascope/api/_generated/traces/client.py +162 -0
  59. mirascope/api/_generated/traces/raw_client.py +168 -0
  60. mirascope/api/_generated/traces/types/__init__.py +95 -0
  61. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item.py +36 -0
  62. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource.py +31 -0
  63. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item.py +25 -0
  64. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value.py +54 -0
  65. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_array_value.py +23 -0
  66. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value.py +28 -0
  67. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value_values_item.py +24 -0
  68. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item.py +35 -0
  69. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope.py +35 -0
  70. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item.py +27 -0
  71. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value.py +54 -0
  72. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_array_value.py +23 -0
  73. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value.py +28 -0
  74. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value_values_item.py +24 -0
  75. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item.py +60 -0
  76. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item.py +29 -0
  77. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value.py +54 -0
  78. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_array_value.py +23 -0
  79. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value.py +28 -0
  80. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value_values_item.py +24 -0
  81. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_status.py +24 -0
  82. mirascope/api/_generated/traces/types/traces_create_response.py +27 -0
  83. mirascope/api/_generated/traces/types/traces_create_response_partial_success.py +28 -0
  84. mirascope/api/_generated/types/__init__.py +37 -0
  85. mirascope/api/_generated/types/already_exists_error.py +24 -0
  86. mirascope/api/_generated/types/already_exists_error_tag.py +5 -0
  87. mirascope/api/_generated/types/database_error.py +24 -0
  88. mirascope/api/_generated/types/database_error_tag.py +5 -0
  89. mirascope/api/_generated/types/http_api_decode_error.py +29 -0
  90. mirascope/api/_generated/types/http_api_decode_error_tag.py +5 -0
  91. mirascope/api/_generated/types/issue.py +40 -0
  92. mirascope/api/_generated/types/issue_tag.py +17 -0
  93. mirascope/api/_generated/types/not_found_error_body.py +24 -0
  94. mirascope/api/_generated/types/not_found_error_tag.py +5 -0
  95. mirascope/api/_generated/types/permission_denied_error.py +24 -0
  96. mirascope/api/_generated/types/permission_denied_error_tag.py +7 -0
  97. mirascope/api/_generated/types/property_key.py +7 -0
  98. mirascope/api/_generated/types/property_key_key.py +27 -0
  99. mirascope/api/_generated/types/property_key_key_tag.py +5 -0
  100. mirascope/api/client.py +255 -0
  101. mirascope/api/settings.py +81 -0
  102. mirascope/llm/__init__.py +45 -11
  103. mirascope/llm/calls/calls.py +81 -57
  104. mirascope/llm/calls/decorator.py +121 -115
  105. mirascope/llm/content/__init__.py +3 -2
  106. mirascope/llm/context/_utils.py +19 -6
  107. mirascope/llm/exceptions.py +30 -16
  108. mirascope/llm/formatting/_utils.py +9 -5
  109. mirascope/llm/formatting/format.py +2 -2
  110. mirascope/llm/formatting/from_call_args.py +2 -2
  111. mirascope/llm/messages/message.py +13 -5
  112. mirascope/llm/models/__init__.py +2 -2
  113. mirascope/llm/models/models.py +189 -81
  114. mirascope/llm/prompts/__init__.py +13 -12
  115. mirascope/llm/prompts/_utils.py +27 -24
  116. mirascope/llm/prompts/decorator.py +133 -204
  117. mirascope/llm/prompts/prompts.py +424 -0
  118. mirascope/llm/prompts/protocols.py +25 -59
  119. mirascope/llm/providers/__init__.py +44 -0
  120. mirascope/llm/{clients → providers}/_missing_import_stubs.py +8 -6
  121. mirascope/llm/providers/anthropic/__init__.py +29 -0
  122. mirascope/llm/providers/anthropic/_utils/__init__.py +23 -0
  123. mirascope/llm/providers/anthropic/_utils/beta_decode.py +271 -0
  124. mirascope/llm/providers/anthropic/_utils/beta_encode.py +216 -0
  125. mirascope/llm/{clients → providers}/anthropic/_utils/decode.py +44 -11
  126. mirascope/llm/providers/anthropic/_utils/encode.py +356 -0
  127. mirascope/llm/providers/anthropic/beta_provider.py +322 -0
  128. mirascope/llm/providers/anthropic/model_id.py +23 -0
  129. mirascope/llm/providers/anthropic/model_info.py +87 -0
  130. mirascope/llm/providers/anthropic/provider.py +416 -0
  131. mirascope/llm/{clients → providers}/base/__init__.py +3 -3
  132. mirascope/llm/{clients → providers}/base/_utils.py +25 -8
  133. mirascope/llm/{clients/base/client.py → providers/base/base_provider.py} +255 -126
  134. mirascope/llm/providers/google/__init__.py +21 -0
  135. mirascope/llm/{clients → providers}/google/_utils/decode.py +61 -7
  136. mirascope/llm/{clients → providers}/google/_utils/encode.py +44 -30
  137. mirascope/llm/providers/google/model_id.py +22 -0
  138. mirascope/llm/providers/google/model_info.py +62 -0
  139. mirascope/llm/providers/google/provider.py +442 -0
  140. mirascope/llm/providers/load_provider.py +54 -0
  141. mirascope/llm/providers/mlx/__init__.py +24 -0
  142. mirascope/llm/providers/mlx/_utils.py +129 -0
  143. mirascope/llm/providers/mlx/encoding/__init__.py +8 -0
  144. mirascope/llm/providers/mlx/encoding/base.py +69 -0
  145. mirascope/llm/providers/mlx/encoding/transformers.py +147 -0
  146. mirascope/llm/providers/mlx/mlx.py +237 -0
  147. mirascope/llm/providers/mlx/model_id.py +17 -0
  148. mirascope/llm/providers/mlx/provider.py +415 -0
  149. mirascope/llm/providers/model_id.py +16 -0
  150. mirascope/llm/providers/ollama/__init__.py +19 -0
  151. mirascope/llm/providers/ollama/provider.py +71 -0
  152. mirascope/llm/providers/openai/__init__.py +6 -0
  153. mirascope/llm/providers/openai/completions/__init__.py +25 -0
  154. mirascope/llm/{clients → providers}/openai/completions/_utils/__init__.py +2 -0
  155. mirascope/llm/{clients → providers}/openai/completions/_utils/decode.py +60 -6
  156. mirascope/llm/{clients → providers}/openai/completions/_utils/encode.py +37 -26
  157. mirascope/llm/providers/openai/completions/base_provider.py +513 -0
  158. mirascope/llm/providers/openai/completions/provider.py +22 -0
  159. mirascope/llm/providers/openai/model_id.py +31 -0
  160. mirascope/llm/providers/openai/model_info.py +303 -0
  161. mirascope/llm/providers/openai/provider.py +398 -0
  162. mirascope/llm/providers/openai/responses/__init__.py +21 -0
  163. mirascope/llm/{clients → providers}/openai/responses/_utils/decode.py +59 -6
  164. mirascope/llm/{clients → providers}/openai/responses/_utils/encode.py +34 -23
  165. mirascope/llm/providers/openai/responses/provider.py +469 -0
  166. mirascope/llm/providers/provider_id.py +23 -0
  167. mirascope/llm/providers/provider_registry.py +169 -0
  168. mirascope/llm/providers/together/__init__.py +19 -0
  169. mirascope/llm/providers/together/provider.py +40 -0
  170. mirascope/llm/responses/__init__.py +3 -0
  171. mirascope/llm/responses/base_response.py +14 -5
  172. mirascope/llm/responses/base_stream_response.py +35 -6
  173. mirascope/llm/responses/finish_reason.py +1 -0
  174. mirascope/llm/responses/response.py +33 -13
  175. mirascope/llm/responses/root_response.py +12 -13
  176. mirascope/llm/responses/stream_response.py +35 -23
  177. mirascope/llm/responses/usage.py +95 -0
  178. mirascope/llm/tools/__init__.py +9 -2
  179. mirascope/llm/tools/_utils.py +12 -3
  180. mirascope/llm/tools/protocols.py +4 -4
  181. mirascope/llm/tools/tool_schema.py +44 -9
  182. mirascope/llm/tools/tools.py +10 -9
  183. mirascope/ops/__init__.py +156 -0
  184. mirascope/ops/_internal/__init__.py +5 -0
  185. mirascope/ops/_internal/closure.py +1118 -0
  186. mirascope/ops/_internal/configuration.py +126 -0
  187. mirascope/ops/_internal/context.py +76 -0
  188. mirascope/ops/_internal/exporters/__init__.py +26 -0
  189. mirascope/ops/_internal/exporters/exporters.py +342 -0
  190. mirascope/ops/_internal/exporters/processors.py +104 -0
  191. mirascope/ops/_internal/exporters/types.py +165 -0
  192. mirascope/ops/_internal/exporters/utils.py +29 -0
  193. mirascope/ops/_internal/instrumentation/__init__.py +8 -0
  194. mirascope/ops/_internal/instrumentation/llm/__init__.py +8 -0
  195. mirascope/ops/_internal/instrumentation/llm/encode.py +238 -0
  196. mirascope/ops/_internal/instrumentation/llm/gen_ai_types/__init__.py +38 -0
  197. mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_input_messages.py +31 -0
  198. mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_output_messages.py +38 -0
  199. mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_system_instructions.py +18 -0
  200. mirascope/ops/_internal/instrumentation/llm/gen_ai_types/shared.py +100 -0
  201. mirascope/ops/_internal/instrumentation/llm/llm.py +1288 -0
  202. mirascope/ops/_internal/propagation.py +198 -0
  203. mirascope/ops/_internal/protocols.py +51 -0
  204. mirascope/ops/_internal/session.py +139 -0
  205. mirascope/ops/_internal/spans.py +232 -0
  206. mirascope/ops/_internal/traced_calls.py +371 -0
  207. mirascope/ops/_internal/traced_functions.py +394 -0
  208. mirascope/ops/_internal/tracing.py +276 -0
  209. mirascope/ops/_internal/types.py +13 -0
  210. mirascope/ops/_internal/utils.py +75 -0
  211. mirascope/ops/_internal/versioned_calls.py +512 -0
  212. mirascope/ops/_internal/versioned_functions.py +346 -0
  213. mirascope/ops/_internal/versioning.py +303 -0
  214. mirascope/ops/exceptions.py +21 -0
  215. {mirascope-2.0.0a2.dist-info → mirascope-2.0.0a4.dist-info}/METADATA +78 -3
  216. mirascope-2.0.0a4.dist-info/RECORD +247 -0
  217. {mirascope-2.0.0a2.dist-info → mirascope-2.0.0a4.dist-info}/WHEEL +1 -1
  218. mirascope/graphs/__init__.py +0 -22
  219. mirascope/graphs/finite_state_machine.py +0 -625
  220. mirascope/llm/agents/__init__.py +0 -15
  221. mirascope/llm/agents/agent.py +0 -97
  222. mirascope/llm/agents/agent_template.py +0 -45
  223. mirascope/llm/agents/decorator.py +0 -176
  224. mirascope/llm/calls/base_call.py +0 -33
  225. mirascope/llm/clients/__init__.py +0 -34
  226. mirascope/llm/clients/anthropic/__init__.py +0 -25
  227. mirascope/llm/clients/anthropic/_utils/encode.py +0 -243
  228. mirascope/llm/clients/anthropic/clients.py +0 -819
  229. mirascope/llm/clients/anthropic/model_ids.py +0 -8
  230. mirascope/llm/clients/google/__init__.py +0 -20
  231. mirascope/llm/clients/google/clients.py +0 -853
  232. mirascope/llm/clients/google/model_ids.py +0 -15
  233. mirascope/llm/clients/openai/__init__.py +0 -25
  234. mirascope/llm/clients/openai/completions/__init__.py +0 -28
  235. mirascope/llm/clients/openai/completions/_utils/model_features.py +0 -81
  236. mirascope/llm/clients/openai/completions/clients.py +0 -833
  237. mirascope/llm/clients/openai/completions/model_ids.py +0 -8
  238. mirascope/llm/clients/openai/responses/__init__.py +0 -26
  239. mirascope/llm/clients/openai/responses/_utils/__init__.py +0 -13
  240. mirascope/llm/clients/openai/responses/_utils/model_features.py +0 -87
  241. mirascope/llm/clients/openai/responses/clients.py +0 -832
  242. mirascope/llm/clients/openai/responses/model_ids.py +0 -8
  243. mirascope/llm/clients/openai/shared/__init__.py +0 -7
  244. mirascope/llm/clients/openai/shared/_utils.py +0 -55
  245. mirascope/llm/clients/providers.py +0 -175
  246. mirascope-2.0.0a2.dist-info/RECORD +0 -102
  247. /mirascope/llm/{clients → providers}/base/kwargs.py +0 -0
  248. /mirascope/llm/{clients → providers}/base/params.py +0 -0
  249. /mirascope/llm/{clients/anthropic → providers/google}/_utils/__init__.py +0 -0
  250. /mirascope/llm/{clients → providers}/google/message.py +0 -0
  251. /mirascope/llm/{clients/google → providers/openai/responses}/_utils/__init__.py +0 -0
  252. {mirascope-2.0.0a2.dist-info → mirascope-2.0.0a4.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mirascope
3
- Version: 2.0.0a2
3
+ Version: 2.0.0a4
4
4
  Summary: LLM abstractions that aren't obstructions
5
5
  Project-URL: Homepage, https://mirascope.com
6
6
  Project-URL: Documentation, https://mirascope.com/docs/mirascope/v2
@@ -51,22 +51,49 @@ Requires-Dist: httpx>=0.27.0
51
51
  Requires-Dist: pydantic>=2.0.0
52
52
  Requires-Dist: typing-extensions>=4.10.0
53
53
  Provides-Extra: all
54
- Requires-Dist: anthropic<1.0,>=0.72.0; extra == 'all'
54
+ Requires-Dist: anthropic<1.0,>=0.75.0; extra == 'all'
55
55
  Requires-Dist: google-genai<2,>=1.48.0; extra == 'all'
56
+ Requires-Dist: libcst>=1.8.6; extra == 'all'
56
57
  Requires-Dist: mcp<2,>=1.0.0; extra == 'all'
58
+ Requires-Dist: mlx-lm<1,>=0.28.4; extra == 'all'
57
59
  Requires-Dist: openai<3,>=2.7.1; extra == 'all'
60
+ Requires-Dist: opentelemetry-api<2,>=1.38.0; extra == 'all'
61
+ Requires-Dist: opentelemetry-exporter-otlp<2,>=1.38.0; extra == 'all'
62
+ Requires-Dist: opentelemetry-instrumentation<1,>=0.59b0; extra == 'all'
63
+ Requires-Dist: opentelemetry-propagator-b3<2,>=1.38.0; extra == 'all'
64
+ Requires-Dist: opentelemetry-propagator-b3>=1.38.0; extra == 'all'
65
+ Requires-Dist: opentelemetry-propagator-jaeger>=1.38.0; extra == 'all'
66
+ Requires-Dist: opentelemetry-sdk<2,>=1.38.0; extra == 'all'
67
+ Requires-Dist: orjson>=3.11.4; extra == 'all'
68
+ Requires-Dist: packaging>=25.0; extra == 'all'
58
69
  Requires-Dist: pillow<11,>=10.4.0; extra == 'all'
59
70
  Requires-Dist: proto-plus>=1.24.0; extra == 'all'
71
+ Requires-Dist: pydantic-settings>=2.12.0; extra == 'all'
60
72
  Provides-Extra: anthropic
61
- Requires-Dist: anthropic<1.0,>=0.72.0; extra == 'anthropic'
73
+ Requires-Dist: anthropic<1.0,>=0.75.0; extra == 'anthropic'
74
+ Provides-Extra: api
75
+ Requires-Dist: pydantic-settings>=2.12.0; extra == 'api'
62
76
  Provides-Extra: google
63
77
  Requires-Dist: google-genai<2,>=1.48.0; extra == 'google'
64
78
  Requires-Dist: pillow<11,>=10.4.0; extra == 'google'
65
79
  Requires-Dist: proto-plus>=1.24.0; extra == 'google'
66
80
  Provides-Extra: mcp
67
81
  Requires-Dist: mcp<2,>=1.0.0; extra == 'mcp'
82
+ Provides-Extra: mlx
83
+ Requires-Dist: mlx-lm<1,>=0.28.4; extra == 'mlx'
68
84
  Provides-Extra: openai
69
85
  Requires-Dist: openai<3,>=2.7.1; extra == 'openai'
86
+ Provides-Extra: ops
87
+ Requires-Dist: libcst>=1.8.6; extra == 'ops'
88
+ Requires-Dist: opentelemetry-api<2,>=1.38.0; extra == 'ops'
89
+ Requires-Dist: opentelemetry-exporter-otlp<2,>=1.38.0; extra == 'ops'
90
+ Requires-Dist: opentelemetry-instrumentation<1,>=0.59b0; extra == 'ops'
91
+ Requires-Dist: opentelemetry-propagator-b3<2,>=1.38.0; extra == 'ops'
92
+ Requires-Dist: opentelemetry-propagator-b3>=1.38.0; extra == 'ops'
93
+ Requires-Dist: opentelemetry-propagator-jaeger>=1.38.0; extra == 'ops'
94
+ Requires-Dist: opentelemetry-sdk<2,>=1.38.0; extra == 'ops'
95
+ Requires-Dist: orjson>=3.11.4; extra == 'ops'
96
+ Requires-Dist: packaging>=25.0; extra == 'ops'
70
97
  Description-Content-Type: text/markdown
71
98
 
72
99
  ## Mirascope v2 Python
@@ -92,6 +119,54 @@ This directory contains the Python implementation of Mirascope.
92
119
  uv run pytest
93
120
  ```
94
121
 
122
+ ## `ops.span` and Session Tracing
123
+
124
+ `mirascope.ops` provides tracing helpers to trace any Python function, not just
125
+ `llm.Model` calls.
126
+
127
+ 1. Install the OTEL extra and set up a tracer provider exactly as shown above.
128
+ `ops.span` automatically reuses the active provider, so spans from manual
129
+ instrumentation and GenAI instrumentation end up in the same trace tree.
130
+ 2. Use `ops.session` to group related spans and attach metadata:
131
+ ```python
132
+ from mirascope import ops
133
+
134
+ with ops.session(id="req-42", attributes={"team": "core"}):
135
+ with ops.span("load-data") as span:
136
+ span.set(stage="ingest")
137
+ # expensive work here
138
+ ```
139
+ 3. The span exposes `span_id`/`trace_id`, logging helpers, and graceful no-op
140
+ behavior when OTEL is not configured. When OTEL is active, session metadata is
141
+ attached to every span, and additional tools like `ops.trace`/`ops.version`
142
+ (planned) can build on the same context.
143
+
144
+ ## `ops.trace` Decorator
145
+
146
+ `@ops.trace` adds span instrumentation to any Python callable (including
147
+ `llm.Model` helpers) so you can capture argument/return metadata alongside the
148
+ GenAI spans emitted by `llm.instrument_opentelemetry`.
149
+
150
+ ```python
151
+ from mirascope import ops
152
+
153
+ @ops.trace(tags=["ingest"])
154
+ def normalize(record: dict[str, str]) -> dict[str, str]:
155
+ return {k: v.strip() for k, v in record.items()}
156
+
157
+ result = normalize({"foo": " bar "})
158
+ wrapped = normalize.wrapped({"foo": " bar "})
159
+ print(wrapped.span_id, wrapped.trace_id)
160
+ ```
161
+
162
+ - The decorator automatically handles sync/async functions and reuses `ops.span`
163
+ serialization logic for arguments/results.
164
+ - Combine with `ops.session` to tag spans with contextual metadata, and with
165
+ `ops.instrument_opentelemetry` to obtain both model-level GenAI spans
166
+ and method-level spans like `recommend_book.__call__`.
167
+ - For now we focus on Mirascope-layer entry points (e.g., decorated functions or
168
+ `llm.Model` wrappers) and do not auto-instrument underlying provider SDK calls.
169
+
95
170
  ## Testing
96
171
 
97
172
  ### VCR Cassettes
@@ -0,0 +1,247 @@
1
+ mirascope/__init__.py,sha256=V-G8hWENEcjxsv3kbGsRH4wwSDIfLhsYQK1BQRjMlk0,108
2
+ mirascope/api/__init__.py,sha256=9EOn04v3kFagbL1_RTpT_uOwUf_lZeFXVb69g4uaNfs,201
3
+ mirascope/api/client.py,sha256=3JrrC2zNlEttAUXHGN1kbDpGczyI9zCNiSZ3dEyqtAI,8253
4
+ mirascope/api/settings.py,sha256=NeROu5F0xFDUs0jIPFhD_FzBgVjI2mgGkMHeVquoDIM,2125
5
+ mirascope/api/_generated/README.md,sha256=7-B_qhXCHaXKX9FPG-G112hKmXM64uM6eNqmSdpaL_8,6079
6
+ mirascope/api/_generated/__init__.py,sha256=faHSSOUU9AjJ36H4ERstswWcPn2Gu7JHxQfyIRwNZoE,5781
7
+ mirascope/api/_generated/client.py,sha256=2H02vehcGtCbgH6596OSdhVMIBPGwTEET1Wv4YCyE6E,6283
8
+ mirascope/api/_generated/environment.py,sha256=zrGdNnUZkaUyUtaamv2nKGfT9KZA5aCeWdSSN2dNphA,265
9
+ mirascope/api/_generated/reference.md,sha256=e65k8E2JIm6n-hXjfT9dAeI4QUCmFXW8Xg1Mdl8rEnM,8764
10
+ mirascope/api/_generated/core/__init__.py,sha256=lTcqUPXcx4112yLDd70RAPeqq6tu3eFMe1pKOqkW9JQ,1562
11
+ mirascope/api/_generated/core/api_error.py,sha256=44vPoTyWN59gonCIZMdzw7M1uspygiLnr3GNFOoVL2Q,614
12
+ mirascope/api/_generated/core/client_wrapper.py,sha256=IDwIwiGeWsn5PvxRr8Cd_mZtNLrKYMbypyz0pfHloIA,1609
13
+ mirascope/api/_generated/core/datetime_utils.py,sha256=BHjt_H3WVslcuPsr6qjJoVif_SsdLvFN0c43ABE5UiQ,1069
14
+ mirascope/api/_generated/core/file.py,sha256=mUvNH6Wc-k2mSlXCJ9VoYzvgi7NcCkhTzlW2VXxSucg,2710
15
+ mirascope/api/_generated/core/force_multipart.py,sha256=awxh5MtcRYe74ehY8U76jzv6fYM_w_D3Rur7KQQzSDk,429
16
+ mirascope/api/_generated/core/http_client.py,sha256=yFmlICLYxga46DHiUHB3DilAW3UZcAFCnxjvB1eTZtE,22698
17
+ mirascope/api/_generated/core/http_response.py,sha256=4uOAtXXFTyFXHLXeQWSfQST9PGcOCRAdHVgGTxdyg84,1334
18
+ mirascope/api/_generated/core/jsonable_encoder.py,sha256=4QxUaRj3x-7A0g3zl6N-BToc_DixnvGDspw1p5DXX6E,3661
19
+ mirascope/api/_generated/core/pydantic_utilities.py,sha256=cI0R3a_fhPfK_zIclYBi1Ugn1EDIVWfdjrfA3Vg6UL0,11296
20
+ mirascope/api/_generated/core/query_encoder.py,sha256=8qYl5VPl1jU4cDF0X7oSU_DXjlVWY5ayigFBpNTMGOA,2150
21
+ mirascope/api/_generated/core/remove_none_from_dict.py,sha256=EU9SGgYidWq7SexuJbNs4-PZ-5Bl3Vppd864mS6vQZw,342
22
+ mirascope/api/_generated/core/request_options.py,sha256=h0QUNCFVdCW_7GclVySCAY2w4NhtXVBUCmHgmzaxpcg,1681
23
+ mirascope/api/_generated/core/serialization.py,sha256=UO5lcAerNrG-RfFLXPVU5MNV4xCCa9YdMqQ2CjkoulQ,9882
24
+ mirascope/api/_generated/docs/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
25
+ mirascope/api/_generated/docs/client.py,sha256=xeGkT4Oa2iiZruR3Xi7v4rDAx8blIkp6mIqy0RFpzBw,2507
26
+ mirascope/api/_generated/docs/raw_client.py,sha256=GpvLeVDBrti9DqCjb3IHwEucR-vE899HEiDRthVtEDc,4815
27
+ mirascope/api/_generated/errors/__init__.py,sha256=0pdSJizeQJozAkZFZcM3pXN6t6BIcqqZE9AAhHJIDPk,445
28
+ mirascope/api/_generated/errors/bad_request_error.py,sha256=RAVSjgWr8jM993BLo-gO4c7H1ICDBI8a4MJ0UEen45Q,421
29
+ mirascope/api/_generated/errors/conflict_error.py,sha256=U4FRUqIi0oKLxDMCtK1WD-cPcdoJA-OlVQ6wtPm-QnM,418
30
+ mirascope/api/_generated/errors/forbidden_error.py,sha256=jej2hsAPAgWhNhsa8SJcNSNMmY4cqXDmVKdJc007hUE,428
31
+ mirascope/api/_generated/errors/internal_server_error.py,sha256=bBWSdhuiUZFBZNm5qS29zIyOsC2GdKErQNKqYog-t34,408
32
+ mirascope/api/_generated/errors/not_found_error.py,sha256=NFhOrCV76REeRC-XL-cklnw6jQceSKYGYsM9z8ULg_0,416
33
+ mirascope/api/_generated/health/__init__.py,sha256=UN1u0qzFG8zDGf3CABrpMNNEP467lQZKLQfTOpkwm2E,215
34
+ mirascope/api/_generated/health/client.py,sha256=SvPGUe72VyNoA7feW9iE4RDTzGIQ_pkXiR-d2Bg-cqU,2548
35
+ mirascope/api/_generated/health/raw_client.py,sha256=XRhraAPYg3ur0m9zMtQV86izy-_xdjpF3mDimytfFow,4523
36
+ mirascope/api/_generated/health/types/__init__.py,sha256=dYIZPgww1FuKOKJTeUWMDad1XYTzQaxp8jbwsfI_THI,272
37
+ mirascope/api/_generated/health/types/health_check_response.py,sha256=CcwGy-ROHpWfgKcRxw537fsnO66bxKtT5eo4sealVgo,681
38
+ mirascope/api/_generated/health/types/health_check_response_status.py,sha256=eCSX3a4cA5zETaIbLvtYkSeS3585DuJa9VnM1fw3VxE,155
39
+ mirascope/api/_generated/organizations/__init__.py,sha256=AKFDrQ1SedKfX5Zsv8Kx8ynS8GYInaAm-jNvz1zFQiQ,695
40
+ mirascope/api/_generated/organizations/client.py,sha256=B1eTdAq7Rl4SmA_hpiyLtLO1gPCXSEBJmP-w-SNEo48,9579
41
+ mirascope/api/_generated/organizations/raw_client.py,sha256=683oqtEKPtyPlkphc5CNRMakZjjtLasIczOZDhgguvk,32001
42
+ mirascope/api/_generated/organizations/types/__init__.py,sha256=wr6VfMIdBcNlA3qelxtxJZp3fvXwtr-DwsQ-PKlPaCs,996
43
+ mirascope/api/_generated/organizations/types/organizations_create_response.py,sha256=j7iMoHmURUBL5mLIgeChZFRkjzKEyOTewmxsiIBYVvk,691
44
+ mirascope/api/_generated/organizations/types/organizations_create_response_role.py,sha256=OsgWOdAazUDPZBwhQ8piqB5dPYPFGRGXUvzZxY_cwT0,189
45
+ mirascope/api/_generated/organizations/types/organizations_get_response.py,sha256=acfVd3g1wC2v-BnkvVzgLIClig6cYoz2lbYndEdqBa8,679
46
+ mirascope/api/_generated/organizations/types/organizations_get_response_role.py,sha256=zYLPJtdYFk8Mz6e1yxpirva6Co2aaqKQksFOM4lCjME,186
47
+ mirascope/api/_generated/organizations/types/organizations_list_response_item.py,sha256=xJNxSKkOH6SyU5zHEpMxjKKLhzo9QnQTUHI0DTStiKQ,700
48
+ mirascope/api/_generated/organizations/types/organizations_list_response_item_role.py,sha256=H2a1FebiZ9nAIZ92TnHyO4w3oRr0L4EAc58vaJXTW5U,191
49
+ mirascope/api/_generated/organizations/types/organizations_update_response.py,sha256=y5RzaOLYB1vUa22jDwztrlhWcikMl7blHBbJtAsGNmA,691
50
+ mirascope/api/_generated/organizations/types/organizations_update_response_role.py,sha256=9Ya26-vC-PGq5hEmDlfB1ov6G2HjHYezblbnFjLj5Pk,189
51
+ mirascope/api/_generated/projects/__init__.py,sha256=WuwOMLclS5a2OFxwBtCiBjI9De3OfD67DcZ-iI6IrAY,353
52
+ mirascope/api/_generated/projects/client.py,sha256=7An6FYmKgpn7vIj1Z0mGfg9zXd_C2J-raF7LhgdtLic,11213
53
+ mirascope/api/_generated/projects/raw_client.py,sha256=bi2ymyEQttHazMp3YXj8CV6D6tLjNJYbrW9TB8t8XbU,36779
54
+ mirascope/api/_generated/projects/types/__init__.py,sha256=s4-7DLBngfy8scBC2sd149ACK2f7T6WoFkPIDWCi89Q,462
55
+ mirascope/api/_generated/projects/types/projects_create_response.py,sha256=frvmbK-jFpOUqp6YmlIP2qtV2JrmKLoMasMx1rD7ZjA,855
56
+ mirascope/api/_generated/projects/types/projects_get_response.py,sha256=78ltmedeDMmuXYlBF1kZz-W_7DisXuCuppv_fEthhKc,852
57
+ mirascope/api/_generated/projects/types/projects_list_response_item.py,sha256=tW6TuGvB2QIEdsHerFtjMq-LVIcp9LPdvb8C2Qk9Luc,857
58
+ mirascope/api/_generated/projects/types/projects_update_response.py,sha256=ku12FvQgwgFR-P7pOPUByh-fl9gwzVYkSM2nZT7XOnc,855
59
+ mirascope/api/_generated/traces/__init__.py,sha256=SJinJhQCXCPrUYr9OfVMMBkS4qFW2ij9fm7Bc-tDF3o,3543
60
+ mirascope/api/_generated/traces/client.py,sha256=FXZu6X_T-8oWEaN51KG2sTX8zDu2TJkRN3NWfElPKJQ,5374
61
+ mirascope/api/_generated/traces/raw_client.py,sha256=r-QSTNCxvr3SxJe05z_XRvYgWjv9RZvA46EMZSRq1vQ,5982
62
+ mirascope/api/_generated/traces/types/__init__.py,sha256=Us0aBk4mK5yPOPPTjjf6yFRS6h4tTccI_FYUt9FEWCs,5711
63
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item.py,sha256=IatPuLCnf8_BPBwHY1pmGSt0t4B3E63jM5fKe6ptf8c,1247
64
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource.py,sha256=ToxrS_Scb4OiDQXE_0eQom3oo7snNxC0yt2ezzFIGJM,1057
65
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item.py,sha256=Ss1G1LPNsM6XVV5XfXxVUxSbpzPk966A0fa9o62toHs,821
66
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value.py,sha256=iJtN2nr3pYapefZtIAP5yPFVPKy7bKIJi6baUtAhQQU,1966
67
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_array_value.py,sha256=-w5dUf9ESdcFdtECmsbXK49u1ypFopgxjvVimK_G-6Y,648
68
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value.py,sha256=8Psmv9Td6m1An81-LDJmxpirb3j6vaIPklTmyLZ0bc0,925
69
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value_values_item.py,sha256=yXQqqFHLA6zKXak_DEk9gKPeKtCjfW5i70B7Ryun27s,665
70
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item.py,sha256=DxPIa-BmKZLCtuOEPVfzXLrrPyYsA0YhjFWR7k7JXKw,1246
71
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope.py,sha256=nVOKCc1g2qecjPrZ2aPHKMVm_7R6Q7y39pY0TvMIZK8,1181
72
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item.py,sha256=pClKwGuQw9As51N7PaSCr9lfBm59Nm3hpkyEpjWcAHs,874
73
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value.py,sha256=__XgKZpnAqr5fZ6Pxu-AezRgFRuowDkf6s0fjn_SNoA,2049
74
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_array_value.py,sha256=ZBmsvqjRn9oArJecRl_Sk2qlv--iXUbB2mH1iPAz2Eo,659
75
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value.py,sha256=OZT01ZWxExJgxDkdo2z41ZbBYhXs46e4yXFnuEZL-F0,972
76
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value_values_item.py,sha256=H2ujVxiamG2KLUqVwc_me41xLkK5tlqpyOMFUj3Jz30,676
77
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item.py,sha256=JF383P8Z-NGH2u8EfRzrgG576HKnUfpa-7vIwl3EJxs,2423
78
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item.py,sha256=r4OzzXKsTFkVbPCRyLYTzkItErxXWugK5bdU15tLKkU,907
79
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value.py,sha256=M_hPkk-XE-1u4UOl9IwLtFGj664Y5hiXaECgBcrbaAI,2079
80
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_array_value.py,sha256=5sw4Dx4LsiKUcEMuMaIoc5P1EVSLPIC3gpuOMAy3pWA,663
81
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value.py,sha256=6DjceMB5PFj_l0kr3XZCMHaLiPZXcBkRboKP7un6fSk,989
82
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value_values_item.py,sha256=JPg6cNdAoAclmx1nJC6KJEHv3RZM9JEsR6pShZEWIKQ,680
83
+ mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_status.py,sha256=V5HwPpOY0WCScTE6OJe55hEYkKoTbLM4B6qCFicsUUg,668
84
+ mirascope/api/_generated/traces/types/traces_create_response.py,sha256=LMCVtItwbrnqx9C4v9gkUxYgk4Ut6fJHziyQ_3W8kwE,867
85
+ mirascope/api/_generated/traces/types/traces_create_response_partial_success.py,sha256=9pTxUVArKBy0W3demKDBmfANGRYvhoDN6dt6ZhjjQpU,881
86
+ mirascope/api/_generated/types/__init__.py,sha256=A8hRek8If7ZF2TKEkBvPAbofmYp8MwxK4gS2wHcdaEw,1198
87
+ mirascope/api/_generated/types/already_exists_error.py,sha256=DgG3dF2aCAoO8LAd4AMRY4ysxsjJC2qdhrq9Xylhpt4,683
88
+ mirascope/api/_generated/types/already_exists_error_tag.py,sha256=Gkkp8M2D68eeecqivCeLZdEQ9s_E4-Wian0_SVrRMGU,167
89
+ mirascope/api/_generated/types/database_error.py,sha256=F76RewoU6y1WAFHKWBsAj8M5VLtczL8abzM6uJwTDug,683
90
+ mirascope/api/_generated/types/database_error_tag.py,sha256=f7yylB3n3uxnf99qE3w3jLz5F5lCx-thc7px9SvvK9E,157
91
+ mirascope/api/_generated/types/http_api_decode_error.py,sha256=hAqR-MUDmNtEuK_AhNgsgWuD0NZm-jb4uZL9WJz4fIw,765
92
+ mirascope/api/_generated/types/http_api_decode_error_tag.py,sha256=4brH10CC1DEuSmruTFmEuy9rVgpucv9Wsde-4g6oYQM,167
93
+ mirascope/api/_generated/types/issue.py,sha256=iQeOA7wIh2uFEW4hI-fMxT6jSG7z6T3kwOFOKK-207A,1011
94
+ mirascope/api/_generated/types/issue_tag.py,sha256=C4AQ5_ewX0CacDGg9pHKh6DW4yEDVS4QmckOH3W_TsI,316
95
+ mirascope/api/_generated/types/not_found_error_body.py,sha256=BgfmnSIh6XPWq78_5U1UWcOywihwO2tsBF8KNgA0gbw,667
96
+ mirascope/api/_generated/types/not_found_error_tag.py,sha256=dQtLl0Mr8uW56l-DVlHqaHxxUaUu4s5p8Dk2nRcx4yk,157
97
+ mirascope/api/_generated/types/permission_denied_error.py,sha256=J1KZQ3hs_In0DnzVSH5Xq_6sBw7TYuWXxMilePiI8MA,695
98
+ mirascope/api/_generated/types/permission_denied_error_tag.py,sha256=4bockT3ftu1Fda3mXzXb5-2xMzQsklnduXIJXGJ08SY,179
99
+ mirascope/api/_generated/types/property_key.py,sha256=G_qu_0R1rdi2eY-rhTC3NO-IrbdHR0AcgdjSdwIOkBE,181
100
+ mirascope/api/_generated/types/property_key_key.py,sha256=cEKRj67H_IP7Gl-cRqQkLIoFL0TFz4zbhwvBeLV8r7Y,696
101
+ mirascope/api/_generated/types/property_key_key_tag.py,sha256=aNrMYf3B6V098Z9-tqlkNH1XvbkX9t2se3x-qbVe0CQ,151
102
+ mirascope/llm/__init__.py,sha256=QlcQCDQ4tOZoueXmPYnp8k9GYDUdihky9H1NbJb-cMM,5143
103
+ mirascope/llm/exceptions.py,sha256=81b5-3jUe68TWmzGDH7OP3jrDli5RoT2yfyBC7ukvoM,3586
104
+ mirascope/llm/calls/__init__.py,sha256=rnQ29w8x_EAEecZhP2i6N6u_qE-TO3sBZGAztF3o2QQ,273
105
+ mirascope/llm/calls/calls.py,sha256=tb0GTfH4dxna5RvRjcrS969QPDgWT45t6J3khHzkQ9s,11783
106
+ mirascope/llm/calls/decorator.py,sha256=F2KN-Ur25NyYZ8ir5yDozKP5X_bZTjQGMKTerEDrFnc,8766
107
+ mirascope/llm/content/__init__.py,sha256=4a5UaoiF8OKfXS9j7INFvOnU7bkNpacpiZ6IlLgC6Lc,1926
108
+ mirascope/llm/content/audio.py,sha256=W6liY1PuQ0pF91eDBnNKW52dr-G7-vnd-rhlSqebx9Y,5311
109
+ mirascope/llm/content/document.py,sha256=oz3LSUEhJh-lEUDCss5p_xkPBDYQhAu9m9SGFr64_pI,2369
110
+ mirascope/llm/content/image.py,sha256=lG0nPvObNEva1XjqUJcZI2T7jZ1xhHaSjqsCncg0XEU,6155
111
+ mirascope/llm/content/text.py,sha256=4lDzXXpDy601RAkv9m85InP_CklvLccFATPThBcY1Ho,1099
112
+ mirascope/llm/content/thought.py,sha256=jWtlVWoS-fDjByD-m2SPdPNNxvQhfwfOio0B95j10qU,1729
113
+ mirascope/llm/content/tool_call.py,sha256=Ogs-_ya50dc4Zb-bfNYFaMVdO5ZHpz4caGmr6ExGrVc,1613
114
+ mirascope/llm/content/tool_output.py,sha256=cCaRvfoR8QFQwnI90rfZjIEkK1GVBia3YJ5BjlOoojs,661
115
+ mirascope/llm/context/__init__.py,sha256=2Bx8CQhTXWbtwMirZ8ppmFKPXjuYezyi10XfmRpAE5I,179
116
+ mirascope/llm/context/_utils.py,sha256=3DbV0NL49m9oZYMUOHJULnVFMu6sO_SXZiriDs1L-vc,1210
117
+ mirascope/llm/context/context.py,sha256=qvmRXsyea34wXP-_0CCe6RwkT3H57dojCw6HHnv8LVc,629
118
+ mirascope/llm/formatting/__init__.py,sha256=N7cvwRFqNC1udcPSZPMLMX-1eNhEtqoZzH1uuAtEX7w,592
119
+ mirascope/llm/formatting/_utils.py,sha256=MDI-MJ1U8ZOaUVg0KE9EFE3MTIejuwlayY1dkJzVA5s,2469
120
+ mirascope/llm/formatting/format.py,sha256=Sv_xAk_6dQ4WY0TqeCMrtELXWN4K-i2Vu4RuQ_C9FQM,3618
121
+ mirascope/llm/formatting/from_call_args.py,sha256=FfnInMf-KCo6VKIPWsppMSzapWqtGlfKwNMJSkzo2ys,917
122
+ mirascope/llm/formatting/partial.py,sha256=_7WlcHvjNJIVrYGVCGphu5Y6UyZQlKyENp05QAtyJ0Q,1785
123
+ mirascope/llm/formatting/types.py,sha256=GSoY82khvf53lwh8qEVIoeslVvoinx8cwLhh_NygB9k,4086
124
+ mirascope/llm/mcp/__init__.py,sha256=qVMSydtTuNezpxv91w5JoV9b3-1s743X-bxh012JmjQ,192
125
+ mirascope/llm/mcp/client.py,sha256=jbOn0QohgEu40JXvjENM7VE7pws8em3Jyx-Yn1YWZ_s,3613
126
+ mirascope/llm/messages/__init__.py,sha256=YJ4D-s_vQd76GTRmRstI2i9Yx561plmURf-zrydKjSo,708
127
+ mirascope/llm/messages/message.py,sha256=GkF556Na5H8AMGSMqA6Y4n-uHI3ZKRaq6K9d9acdtaE,6521
128
+ mirascope/llm/models/__init__.py,sha256=gdd4Bp_oVriaQzUnUJ_WNHz32BxrzFShPvXh-Hn4GvY,505
129
+ mirascope/llm/models/models.py,sha256=u4kGRuMsGRa3rLj1TfecEVic4snhxwTSAvhqBTxYe2I,44722
130
+ mirascope/llm/prompts/__init__.py,sha256=rOtSiZvw6vsJl7vCFWzKZnm3haNhnLtPRzPfdbgoH7U,727
131
+ mirascope/llm/prompts/_utils.py,sha256=kwSUdP4etxapheLoQPtB2UFXJs13o2IACWNdEVb_d_s,1951
132
+ mirascope/llm/prompts/decorator.py,sha256=IcQv2lktag5gioEYp5aPtaIe66ZR-i1gaYpj7jk2qVs,6985
133
+ mirascope/llm/prompts/prompts.py,sha256=VcuGDbqT4Z3mBgJIaa0RsTSGkck1MyaxdufkgKHMVcU,14041
134
+ mirascope/llm/prompts/protocols.py,sha256=auopJnLAfOognCFVVnXrvb4zFj3102Ofi2iVHfublM0,2242
135
+ mirascope/llm/providers/__init__.py,sha256=fWXO2weEIvGvvzHcOHbGDnTkpEiw-NTkuT3gWDlTw8c,1121
136
+ mirascope/llm/providers/_missing_import_stubs.py,sha256=CO9FZgM0r1jWoTPOzc6G_fJ8pLUPK1K_c8Pg9OWfoDc,1581
137
+ mirascope/llm/providers/load_provider.py,sha256=aHbWYOW5-aJUKy_UYh6WOansDN0z7oE9-oRW0wJTVe0,2101
138
+ mirascope/llm/providers/model_id.py,sha256=qr7RKkP_3Blgxjzw_HvQVJLM1aTzsP-jVFsycz0itI8,292
139
+ mirascope/llm/providers/provider_id.py,sha256=ueIYpQaUgNWeiAA2fuqldPWKxsd9rTlOu8k6jmpmesY,970
140
+ mirascope/llm/providers/provider_registry.py,sha256=eBnl6v6JbyQXMutK-muMg2O-nbxxPaHkZiE2g_QinHw,5608
141
+ mirascope/llm/providers/anthropic/__init__.py,sha256=7G_udubLtuCSD9rtBD1t9vYd_FrqXM2UGdN6rE02VTE,854
142
+ mirascope/llm/providers/anthropic/beta_provider.py,sha256=mjKAoAFnqU6KYvkpnX0B2MC2SxpmEYP8ecfUsGjIibc,11418
143
+ mirascope/llm/providers/anthropic/model_id.py,sha256=3Wf4cZG8NUO3i7dHmw3At46JMfTuRWpS8pKYX2s-8B8,715
144
+ mirascope/llm/providers/anthropic/model_info.py,sha256=YuklafFMIpkyLBJSBB0XlB6MK9Bz6hp9Z6APxJ9G1j4,2965
145
+ mirascope/llm/providers/anthropic/provider.py,sha256=80fJSUntzHUqqI24gogVErNRv91sTDX8QybdpLxuOCI,14750
146
+ mirascope/llm/providers/anthropic/_utils/__init__.py,sha256=FYhswD2RQkYls3M896bhQ6js8uHP8ufC0er-6Xa_TEE,519
147
+ mirascope/llm/providers/anthropic/_utils/beta_decode.py,sha256=NyEVPZ7_504-u_AnxnBB0A7S-fDlnrCC3Y3Rpvmzqxs,10032
148
+ mirascope/llm/providers/anthropic/_utils/beta_encode.py,sha256=E5cXJog63xfekJ-SX2-K0TJl2CE22zQWmq-hMv-iCFI,7280
149
+ mirascope/llm/providers/anthropic/_utils/decode.py,sha256=tMcEEEM9WbTxR7kiw0xEY3ILkNndkfwd7azYBOZpIAA,10268
150
+ mirascope/llm/providers/anthropic/_utils/encode.py,sha256=HjJvBijtGI-aWbncCKHY02fdXyApC-OlH6An05pQgOc,13036
151
+ mirascope/llm/providers/base/__init__.py,sha256=TdIwuefY-hZmKJWYyMBLOF6iR6dlsJeK7LnOVOn25YE,291
152
+ mirascope/llm/providers/base/_utils.py,sha256=_7BJsYQ80EFPwooh0RbmSOV-P86S_52Fs0HnaLFw7fU,7615
153
+ mirascope/llm/providers/base/base_provider.py,sha256=y4Vuy9Nezq1IIZXBpLSpSjbJyU1CFFCiVOu8LMqnQUI,46506
154
+ mirascope/llm/providers/base/kwargs.py,sha256=pjaHVqtlmScUBqG8ZAllVaLoepdKE-KYl2eTqzOBXm0,406
155
+ mirascope/llm/providers/base/params.py,sha256=x2WLz0s5rMZ3u3GBGQmRlYGjecePtsLglHSJBLh35YE,3670
156
+ mirascope/llm/providers/google/__init__.py,sha256=FgBiQApWbD0pnZuJlYVvoi_LN-5WRg6rsOtfILJRwlk,596
157
+ mirascope/llm/providers/google/message.py,sha256=ryNsMKPSyBSVXl_H0MQEaSiWC3FFybjxIUuORNSiKTk,179
158
+ mirascope/llm/providers/google/model_id.py,sha256=vZJeKT-_J7oiFT5AkudintCFE4DhFJ-VZOFOcLP1rn0,603
159
+ mirascope/llm/providers/google/model_info.py,sha256=EwR2YwdFoDxF0cWF2ZMRwNuhxrPKYZIEdjHHAZ10j7I,1982
160
+ mirascope/llm/providers/google/provider.py,sha256=6Fi8_SghG4KgjaNBhm08xSZJNbbmzF_rFQIb7aAl-AY,15324
161
+ mirascope/llm/providers/google/_utils/__init__.py,sha256=U2VNfEJCaqorAJBZDV7p3rFEp1fyk7vSitYFv_5G5Cs,232
162
+ mirascope/llm/providers/google/_utils/decode.py,sha256=vxtDbCb6UlAFN0b5rrirfQ9xRhMSQD0Ai3SEq5rFz24,11205
163
+ mirascope/llm/providers/google/_utils/encode.py,sha256=i0if8XnD662qJaeYW77b_oqlDrg9Qwi3hgZy1CoNACI,11345
164
+ mirascope/llm/providers/mlx/__init__.py,sha256=zUYFUn36AVxHaN0hgi-RTwVeO2eydz9B-8OkAsB9aOY,574
165
+ mirascope/llm/providers/mlx/_utils.py,sha256=QLQh-m_2DhpeirbbldMlqJsiaTYZI1W8kxEJlo_NMOk,3909
166
+ mirascope/llm/providers/mlx/mlx.py,sha256=SfNpbKkRpJMW984-wVDyhzgMXfUL5Huo3tQfH3OvbPo,8116
167
+ mirascope/llm/providers/mlx/model_id.py,sha256=oHj-ptT4vTPcatHtjDSw7Z7-xs8ACMfYeRoEsKkM6yE,618
168
+ mirascope/llm/providers/mlx/provider.py,sha256=fEM8IRd2Payt_ep_hK0rq-lcRP8Po0S0ojxVkNFhdxg,14079
169
+ mirascope/llm/providers/mlx/encoding/__init__.py,sha256=qdI7HELeha1wj1OoOn1jH0Xta6yNkI_SDlYbqoWUd0c,163
170
+ mirascope/llm/providers/mlx/encoding/base.py,sha256=5cQX_8RBEgrfiHiUD7waPAmi3Sy_0gkBsFpRvf7VIdE,2228
171
+ mirascope/llm/providers/mlx/encoding/transformers.py,sha256=8tAK9kJfcVRn8ORX6eOeOWSQFd32sJYqPMoRhwlZoYM,5011
172
+ mirascope/llm/providers/ollama/__init__.py,sha256=PTHoML03Z5aJLl0B4iQTuBq35o_NV_w7I3gKQEypXu8,438
173
+ mirascope/llm/providers/ollama/provider.py,sha256=9c0pKDtc--H0SLiyqrjBKzt-Ya8gE9qZ-jpZvKEG90Y,2311
174
+ mirascope/llm/providers/openai/__init__.py,sha256=oxNOUSsX9G7xt9yLImEcOp6E5PFDITOGzXphxFxuWDY,157
175
+ mirascope/llm/providers/openai/model_id.py,sha256=XDQxd2BgG_YIGwzyTRNaySRXoU80-q0AR-xOdtvpB8I,1009
176
+ mirascope/llm/providers/openai/model_info.py,sha256=DN-y-qzq2UahK11hJUe12SB1upRD6BWZkTLhEX092sY,9563
177
+ mirascope/llm/providers/openai/provider.py,sha256=myEJwioM-Bo09ye3VxxYoP4oRK1WcFwdk8UTgF2Zzow,14565
178
+ mirascope/llm/providers/openai/completions/__init__.py,sha256=5X2lzkbta0JNh9KQR3Sb1C4VnQ0LcmMxOeH_pYtsB-o,766
179
+ mirascope/llm/providers/openai/completions/base_provider.py,sha256=KkK2A2b1gHYzGts1wVUnTX4qdAJaxrw9n3DO5oOzT7s,17764
180
+ mirascope/llm/providers/openai/completions/provider.py,sha256=jEH-9rMmNLEBDWVaOZj0rMuRtjwQxdK917tODk-C6pE,719
181
+ mirascope/llm/providers/openai/completions/_utils/__init__.py,sha256=j6brTqACyRS71pkZIcL-LxneE5ALhaHkCtUnBUS0448,266
182
+ mirascope/llm/providers/openai/completions/_utils/decode.py,sha256=4yoS_wNK57RAxfjOL7kimSD5mYh_2IK5XDpAwspsoOg,8250
183
+ mirascope/llm/providers/openai/completions/_utils/encode.py,sha256=ZESiZJliHK-DA4DCH-oLtQij288QcR_LkdRs37Lsyrg,13680
184
+ mirascope/llm/providers/openai/responses/__init__.py,sha256=Mo45QmWX111jc0Ws24LrJg3w2gVoFgVGDcby0_iSOLk,506
185
+ mirascope/llm/providers/openai/responses/provider.py,sha256=Y7Y6osvIP3b6cdk1Mp_ZnIf43DVHS6ln6H3JG43R0LA,16043
186
+ mirascope/llm/providers/openai/responses/_utils/__init__.py,sha256=U2VNfEJCaqorAJBZDV7p3rFEp1fyk7vSitYFv_5G5Cs,232
187
+ mirascope/llm/providers/openai/responses/_utils/decode.py,sha256=Ua3ZVwqRiLxwDhycjnq6BLsPkIjNxmzTeZmMT2Z6MKc,9368
188
+ mirascope/llm/providers/openai/responses/_utils/encode.py,sha256=RLxP9rFXuXqoFnbwt6jG1AgqJyYbLdrcxa1RzTXsteI,12797
189
+ mirascope/llm/providers/together/__init__.py,sha256=mtWAGrQUPHNhmkGKCiLirst6PsCUCS5oK2bZsEf9s3Q,453
190
+ mirascope/llm/providers/together/provider.py,sha256=LauQR6kdxFNkO8CqaJIbiyn2TxI6mO3z5GhnZbHxQa0,1295
191
+ mirascope/llm/responses/__init__.py,sha256=sYr6Sm9G0pxbZoev-RVgz3o3FKHeAU3wa_G5NXjmdnw,1386
192
+ mirascope/llm/responses/_utils.py,sha256=JkKXzG6-WqAbbmWLKOmbe7gDpp9xwg7xNHXryFbt6ME,1662
193
+ mirascope/llm/responses/base_response.py,sha256=5yjVtn3SH09hdp--B3ioT2gkmB3LpqgkBEAKuopOKBc,4170
194
+ mirascope/llm/responses/base_stream_response.py,sha256=xM0O94dE3h1ll_CYdwszf4gS-clMwX6k9jHEP1MEnqQ,29257
195
+ mirascope/llm/responses/finish_reason.py,sha256=Az5OY6pfZoOPEpzVnl07AqZPz5ZC-w4YKwpUPbFJGdM,798
196
+ mirascope/llm/responses/response.py,sha256=zbMWIOwYQq7Z0JgdfRpm4Qzy5Yb7Suty_vmf1kZuenE,12494
197
+ mirascope/llm/responses/root_response.py,sha256=lgfSwlhy5S-X4FDX70vt-uT6BOLfaTTaGIFbLkdWE94,6285
198
+ mirascope/llm/responses/stream_response.py,sha256=ut85tOLGbGI3abheHKf55qEndLsRmddo1sEMQk7PtNo,24142
199
+ mirascope/llm/responses/streams.py,sha256=TmEFvLVEWHfVYplik61yUWisxe8JGbaZdh7yC7e-axI,10789
200
+ mirascope/llm/responses/usage.py,sha256=mm4f9EDBzR57bqPTG2B0iqYnwbyog7csHqo0zjnwWVM,2984
201
+ mirascope/llm/tools/__init__.py,sha256=P9NX6pP5fKScTAuR9K3fODdW17wQ-6fcArVx2klGies,961
202
+ mirascope/llm/tools/_utils.py,sha256=mUi6vUEwYuwu8W9FCQcQ_9h_VE_U-Y3Y2UQ2YptPZL4,1171
203
+ mirascope/llm/tools/decorator.py,sha256=1K-67dJkjCOS1rHAM91lOT8XfShTw54QA-TMEok5eH0,5326
204
+ mirascope/llm/tools/protocols.py,sha256=pUgGuh4TilRuoipeEHfTzu5cXacMnUpz0Q5YXQyAY2I,3050
205
+ mirascope/llm/tools/tool_schema.py,sha256=V22tpF_1YIBoCSQWk-oBJmBtWu8SJDUbNtF-Ub-jrYs,9164
206
+ mirascope/llm/tools/toolkit.py,sha256=pGXchFSO2H7PxFM2sPQYEMDAYHNaX9bhGEyyou_4vsg,4900
207
+ mirascope/llm/tools/tools.py,sha256=7g1CrntiVsBgUzm5MHclHCs_2KzO4Ydu-paHdc7xHmk,5993
208
+ mirascope/llm/types/__init__.py,sha256=lqzi1FkZ-s-D9-KQzVkAHuQQ1zp6B6yM3r9UNo46teE,357
209
+ mirascope/llm/types/dataclass.py,sha256=y4_9M3Yqw_4I-H0V4TwvgGIp6JvRdtpW11NxqufnsJk,247
210
+ mirascope/llm/types/jsonable.py,sha256=KY6l21_RBhlHQRXQ_xy6pUqqbTVb_jVFSU4ykRy_OLU,1104
211
+ mirascope/llm/types/type_vars.py,sha256=OsAcQAZh5T_X8ZTLlP4GC1x3qgVY9rfYSnME8aMTDxw,642
212
+ mirascope/ops/__init__.py,sha256=ryfU8Zn_PRELldrExsjz89eN_Qmk9FoDipaDsgf5CaY,5545
213
+ mirascope/ops/exceptions.py,sha256=N5AES285tTxFJ1THIeJht-_ZEQ7-7_FWoes4EBAu3B8,641
214
+ mirascope/ops/_internal/__init__.py,sha256=yCf8bnHiQFWYsBkwBPyMqknI5apmOwlmyf105mH9EAE,173
215
+ mirascope/ops/_internal/closure.py,sha256=MM2RSGYTV8YH9SUt8itqDCnxpUUeL0Pq3BLDr08Zrbw,40392
216
+ mirascope/ops/_internal/configuration.py,sha256=G_DnUfrAtuPb0-fQQpPts0yFCLdeYW-RqS2Td61pqjg,3616
217
+ mirascope/ops/_internal/context.py,sha256=G0Jiv6XfWjeDyRrh5-Wg6I0UlqiDj17SNMhtQ6Rw3lM,2522
218
+ mirascope/ops/_internal/propagation.py,sha256=2in7uttv2b5MBoe3Ol1mgn6N20TqhH0sErGak7hMUDY,7032
219
+ mirascope/ops/_internal/protocols.py,sha256=QnWuTlC-FC0hB4SFKIbd4bPNtvRHZt7HtjNXaUnWC-k,1666
220
+ mirascope/ops/_internal/session.py,sha256=-7r2TbJiAKeEQ0YaJ9X_2BlumLK7x6h9wP6f8ei-5GA,4105
221
+ mirascope/ops/_internal/spans.py,sha256=Mx4x2sSYYIhibcHKr99TTboUdGrSPV09NpftJD5kkBE,7675
222
+ mirascope/ops/_internal/traced_calls.py,sha256=zMvAD3JMER5RmfScv3R9CaJxAWqQMhel_MTrvDyM1-w,12888
223
+ mirascope/ops/_internal/traced_functions.py,sha256=eGtFaGuaImcpggbXYBmdU9eKtscoNDTcSwGvTt9ixeM,14174
224
+ mirascope/ops/_internal/tracing.py,sha256=d3BQwjR7aUsn1RdsDLoMIDg71CbwR9xo4gqDvXFlaMA,7808
225
+ mirascope/ops/_internal/types.py,sha256=5B1RgChTEbGkLZvdoX8XA2vMKn4bS8BczjGDElxmugI,412
226
+ mirascope/ops/_internal/utils.py,sha256=-qnKlrquo87EPD-_7NstJbzXVUWuuIbhSRnFdMi1ovI,2474
227
+ mirascope/ops/_internal/versioned_calls.py,sha256=7oePDEuf98ph6yrHKJmXSagc1mGz5sdTTJgQnB2CyHM,18445
228
+ mirascope/ops/_internal/versioned_functions.py,sha256=O9J9GfmLlXwBWpk1AH1tFxynS_zCEAp4PjKV6PykvL8,12744
229
+ mirascope/ops/_internal/versioning.py,sha256=MxiezWrGUPiLZxZnwwXDFTR7EMrfTHR7rmd14TuDCL8,8286
230
+ mirascope/ops/_internal/exporters/__init__.py,sha256=3PUd75TczW_8bUImcWgddWyoRmygGf6T_jL7Jo3t_sY,608
231
+ mirascope/ops/_internal/exporters/exporters.py,sha256=YQtV605xMxCT2FixFvHNi2zpxeoTKZGKc7Xn0cjq4x8,12798
232
+ mirascope/ops/_internal/exporters/processors.py,sha256=hkNwA5m0e_KJoPQf_EPUaK6ItZlJ8D5TCBs-JAhGKXo,3511
233
+ mirascope/ops/_internal/exporters/types.py,sha256=1ge7nwNQ3HUH4qVoYeHhSUp3LxohkvDSoqPw2MDLEqw,4057
234
+ mirascope/ops/_internal/exporters/utils.py,sha256=zDZihsj4BxLZH3o2RKCofCvSUf4Nbo8Yro2dqkm0rI4,727
235
+ mirascope/ops/_internal/instrumentation/__init__.py,sha256=Fz2WUX_vFvLqHbMxkuVQAGRXyWkk9Oqug8DcA-oa4p8,180
236
+ mirascope/ops/_internal/instrumentation/llm/__init__.py,sha256=_L6JL3sw6XbW9ICsWe4RZpkT-_BFSIBbh_n00O9h_SM,184
237
+ mirascope/ops/_internal/instrumentation/llm/encode.py,sha256=y8zj51kKDsAQImyNJrhUCeydhEDjUAtCAqX8KiZ320M,8348
238
+ mirascope/ops/_internal/instrumentation/llm/llm.py,sha256=YDIGyFIGZALmZePM77Vue8Va9urxae4bIFBaniHzQgg,39392
239
+ mirascope/ops/_internal/instrumentation/llm/gen_ai_types/__init__.py,sha256=37jQoprefVlma7K9SJih78TbRqvKyx_PDRNLS31Y_kc,813
240
+ mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_input_messages.py,sha256=T35Lrskt0OvMu2kF98V2dgVhnQoRy_3ZJ2yTYgyxm48,758
241
+ mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_output_messages.py,sha256=qxLxSmwd_2EdymR4a5cDXc9DTSFGQXMhqSHGgS219Y4,957
242
+ mirascope/ops/_internal/instrumentation/llm/gen_ai_types/gen_ai_system_instructions.py,sha256=ZkWNOh6-tG6LtFP_0Hjfdf_8BqAsIFyP3tNybeo1FnY,388
243
+ mirascope/ops/_internal/instrumentation/llm/gen_ai_types/shared.py,sha256=JpmcF1i25EHc8KMv6nkpBwyIU46B_T8v1L71C16n080,3004
244
+ mirascope-2.0.0a4.dist-info/METADATA,sha256=-8dm54wx5izpT87EUFmJRBVbURXuTmUdQktiQHXyzv0,8932
245
+ mirascope-2.0.0a4.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
246
+ mirascope-2.0.0a4.dist-info/licenses/LICENSE,sha256=LAs5Q8mdawTsVdONpDGukwsoc4KEUBmmonDEL39b23Y,1072
247
+ mirascope-2.0.0a4.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.27.0
2
+ Generator: hatchling 1.28.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,22 +0,0 @@
1
- """The `graphs` module for writing graphs in a declarative style.
2
-
3
- This module provides graph interfacing for writing graphs as a collection of functions
4
- that are marked as nodes. Simply calling the function for one node inside of another
5
- node function indicates an edge.
6
-
7
- The graph can run uncompiled, in which case it's simply a context management interface
8
- that makes it easy to access / update a shared context across multiple functions.
9
-
10
- Compiling the graph will construct the underlying graph represented by the implicit
11
- edges defined in the code. The way a node function is executed inside of another node
12
- function will determine the final node and edge structure of the graph.
13
-
14
- For example, a node that calls another node and returns nothing will operate as it's own
15
- node with an edge to the node it called. A node that calls another node and stores its
16
- return value will split into two nodes, one for everything before the call, and one for
17
- everything after.
18
- """
19
-
20
- from .finite_state_machine import FiniteStateMachine, RunContext
21
-
22
- __all__ = ["FiniteStateMachine", "RunContext"]