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
@@ -0,0 +1,23 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+
5
+ from .organizations_create_response import OrganizationsCreateResponse
6
+ from .organizations_create_response_role import OrganizationsCreateResponseRole
7
+ from .organizations_get_response import OrganizationsGetResponse
8
+ from .organizations_get_response_role import OrganizationsGetResponseRole
9
+ from .organizations_list_response_item import OrganizationsListResponseItem
10
+ from .organizations_list_response_item_role import OrganizationsListResponseItemRole
11
+ from .organizations_update_response import OrganizationsUpdateResponse
12
+ from .organizations_update_response_role import OrganizationsUpdateResponseRole
13
+
14
+ __all__ = [
15
+ "OrganizationsCreateResponse",
16
+ "OrganizationsCreateResponseRole",
17
+ "OrganizationsGetResponse",
18
+ "OrganizationsGetResponseRole",
19
+ "OrganizationsListResponseItem",
20
+ "OrganizationsListResponseItemRole",
21
+ "OrganizationsUpdateResponse",
22
+ "OrganizationsUpdateResponseRole",
23
+ ]
@@ -0,0 +1,24 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .organizations_create_response_role import OrganizationsCreateResponseRole
8
+
9
+
10
+ class OrganizationsCreateResponse(UniversalBaseModel):
11
+ id: str
12
+ name: str
13
+ role: OrganizationsCreateResponseRole
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
17
+ extra="allow", frozen=True
18
+ ) # type: ignore # Pydantic v2
19
+ else:
20
+
21
+ class Config:
22
+ frozen = True
23
+ smart_union = True
24
+ extra = pydantic.Extra.allow
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ OrganizationsCreateResponseRole = typing.Union[
6
+ typing.Literal["OWNER", "ADMIN", "MEMBER"], typing.Any
7
+ ]
@@ -0,0 +1,24 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .organizations_get_response_role import OrganizationsGetResponseRole
8
+
9
+
10
+ class OrganizationsGetResponse(UniversalBaseModel):
11
+ id: str
12
+ name: str
13
+ role: OrganizationsGetResponseRole
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
17
+ extra="allow", frozen=True
18
+ ) # type: ignore # Pydantic v2
19
+ else:
20
+
21
+ class Config:
22
+ frozen = True
23
+ smart_union = True
24
+ extra = pydantic.Extra.allow
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ OrganizationsGetResponseRole = typing.Union[
6
+ typing.Literal["OWNER", "ADMIN", "MEMBER"], typing.Any
7
+ ]
@@ -0,0 +1,24 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .organizations_list_response_item_role import OrganizationsListResponseItemRole
8
+
9
+
10
+ class OrganizationsListResponseItem(UniversalBaseModel):
11
+ id: str
12
+ name: str
13
+ role: OrganizationsListResponseItemRole
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
17
+ extra="allow", frozen=True
18
+ ) # type: ignore # Pydantic v2
19
+ else:
20
+
21
+ class Config:
22
+ frozen = True
23
+ smart_union = True
24
+ extra = pydantic.Extra.allow
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ OrganizationsListResponseItemRole = typing.Union[
6
+ typing.Literal["OWNER", "ADMIN", "MEMBER"], typing.Any
7
+ ]
@@ -0,0 +1,24 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .organizations_update_response_role import OrganizationsUpdateResponseRole
8
+
9
+
10
+ class OrganizationsUpdateResponse(UniversalBaseModel):
11
+ id: str
12
+ name: str
13
+ role: OrganizationsUpdateResponseRole
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
17
+ extra="allow", frozen=True
18
+ ) # type: ignore # Pydantic v2
19
+ else:
20
+
21
+ class Config:
22
+ frozen = True
23
+ smart_union = True
24
+ extra = pydantic.Extra.allow
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ OrganizationsUpdateResponseRole = typing.Union[
6
+ typing.Literal["OWNER", "ADMIN", "MEMBER"], typing.Any
7
+ ]
@@ -0,0 +1,17 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+
5
+ from .types import (
6
+ ProjectsCreateResponse,
7
+ ProjectsGetResponse,
8
+ ProjectsListResponseItem,
9
+ ProjectsUpdateResponse,
10
+ )
11
+
12
+ __all__ = [
13
+ "ProjectsCreateResponse",
14
+ "ProjectsGetResponse",
15
+ "ProjectsListResponseItem",
16
+ "ProjectsUpdateResponse",
17
+ ]
@@ -0,0 +1,458 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
+ from ..core.request_options import RequestOptions
7
+ from .raw_client import AsyncRawProjectsClient, RawProjectsClient
8
+ from .types.projects_create_response import ProjectsCreateResponse
9
+ from .types.projects_get_response import ProjectsGetResponse
10
+ from .types.projects_list_response_item import ProjectsListResponseItem
11
+ from .types.projects_update_response import ProjectsUpdateResponse
12
+
13
+ # this is used as the default value for optional parameters
14
+ OMIT = typing.cast(typing.Any, ...)
15
+
16
+
17
+ class ProjectsClient:
18
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
19
+ self._raw_client = RawProjectsClient(client_wrapper=client_wrapper)
20
+
21
+ @property
22
+ def with_raw_response(self) -> RawProjectsClient:
23
+ """
24
+ Retrieves a raw implementation of this client that returns raw responses.
25
+
26
+ Returns
27
+ -------
28
+ RawProjectsClient
29
+ """
30
+ return self._raw_client
31
+
32
+ def list(
33
+ self,
34
+ organization_id: str,
35
+ *,
36
+ request_options: typing.Optional[RequestOptions] = None,
37
+ ) -> typing.List[ProjectsListResponseItem]:
38
+ """
39
+ Parameters
40
+ ----------
41
+ organization_id : str
42
+
43
+ request_options : typing.Optional[RequestOptions]
44
+ Request-specific configuration.
45
+
46
+ Returns
47
+ -------
48
+ typing.List[ProjectsListResponseItem]
49
+ Success
50
+
51
+ Examples
52
+ --------
53
+ from mirascope.api._generated import Mirascope
54
+
55
+ client = Mirascope()
56
+ client.projects.list(
57
+ organization_id="organizationId",
58
+ )
59
+ """
60
+ _response = self._raw_client.list(
61
+ organization_id, request_options=request_options
62
+ )
63
+ return _response.data
64
+
65
+ def create(
66
+ self,
67
+ organization_id: str,
68
+ *,
69
+ name: str,
70
+ request_options: typing.Optional[RequestOptions] = None,
71
+ ) -> ProjectsCreateResponse:
72
+ """
73
+ Parameters
74
+ ----------
75
+ organization_id : str
76
+
77
+ name : str
78
+ a string at most 100 character(s) long
79
+
80
+ request_options : typing.Optional[RequestOptions]
81
+ Request-specific configuration.
82
+
83
+ Returns
84
+ -------
85
+ ProjectsCreateResponse
86
+ Success
87
+
88
+ Examples
89
+ --------
90
+ from mirascope.api._generated import Mirascope
91
+
92
+ client = Mirascope()
93
+ client.projects.create(
94
+ organization_id="organizationId",
95
+ name="name",
96
+ )
97
+ """
98
+ _response = self._raw_client.create(
99
+ organization_id, name=name, request_options=request_options
100
+ )
101
+ return _response.data
102
+
103
+ def get(
104
+ self,
105
+ organization_id: str,
106
+ project_id: str,
107
+ *,
108
+ request_options: typing.Optional[RequestOptions] = None,
109
+ ) -> ProjectsGetResponse:
110
+ """
111
+ Parameters
112
+ ----------
113
+ organization_id : str
114
+
115
+ project_id : str
116
+
117
+ request_options : typing.Optional[RequestOptions]
118
+ Request-specific configuration.
119
+
120
+ Returns
121
+ -------
122
+ ProjectsGetResponse
123
+ Success
124
+
125
+ Examples
126
+ --------
127
+ from mirascope.api._generated import Mirascope
128
+
129
+ client = Mirascope()
130
+ client.projects.get(
131
+ organization_id="organizationId",
132
+ project_id="projectId",
133
+ )
134
+ """
135
+ _response = self._raw_client.get(
136
+ organization_id, project_id, request_options=request_options
137
+ )
138
+ return _response.data
139
+
140
+ def update(
141
+ self,
142
+ organization_id: str,
143
+ project_id: str,
144
+ *,
145
+ name: str,
146
+ request_options: typing.Optional[RequestOptions] = None,
147
+ ) -> ProjectsUpdateResponse:
148
+ """
149
+ Parameters
150
+ ----------
151
+ organization_id : str
152
+
153
+ project_id : str
154
+
155
+ name : str
156
+ a string at most 100 character(s) long
157
+
158
+ request_options : typing.Optional[RequestOptions]
159
+ Request-specific configuration.
160
+
161
+ Returns
162
+ -------
163
+ ProjectsUpdateResponse
164
+ Success
165
+
166
+ Examples
167
+ --------
168
+ from mirascope.api._generated import Mirascope
169
+
170
+ client = Mirascope()
171
+ client.projects.update(
172
+ organization_id="organizationId",
173
+ project_id="projectId",
174
+ name="name",
175
+ )
176
+ """
177
+ _response = self._raw_client.update(
178
+ organization_id, project_id, name=name, request_options=request_options
179
+ )
180
+ return _response.data
181
+
182
+ def delete(
183
+ self,
184
+ organization_id: str,
185
+ project_id: str,
186
+ *,
187
+ request_options: typing.Optional[RequestOptions] = None,
188
+ ) -> None:
189
+ """
190
+ Parameters
191
+ ----------
192
+ organization_id : str
193
+
194
+ project_id : str
195
+
196
+ request_options : typing.Optional[RequestOptions]
197
+ Request-specific configuration.
198
+
199
+ Returns
200
+ -------
201
+ None
202
+
203
+ Examples
204
+ --------
205
+ from mirascope.api._generated import Mirascope
206
+
207
+ client = Mirascope()
208
+ client.projects.delete(
209
+ organization_id="organizationId",
210
+ project_id="projectId",
211
+ )
212
+ """
213
+ _response = self._raw_client.delete(
214
+ organization_id, project_id, request_options=request_options
215
+ )
216
+ return _response.data
217
+
218
+
219
+ class AsyncProjectsClient:
220
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
221
+ self._raw_client = AsyncRawProjectsClient(client_wrapper=client_wrapper)
222
+
223
+ @property
224
+ def with_raw_response(self) -> AsyncRawProjectsClient:
225
+ """
226
+ Retrieves a raw implementation of this client that returns raw responses.
227
+
228
+ Returns
229
+ -------
230
+ AsyncRawProjectsClient
231
+ """
232
+ return self._raw_client
233
+
234
+ async def list(
235
+ self,
236
+ organization_id: str,
237
+ *,
238
+ request_options: typing.Optional[RequestOptions] = None,
239
+ ) -> typing.List[ProjectsListResponseItem]:
240
+ """
241
+ Parameters
242
+ ----------
243
+ organization_id : str
244
+
245
+ request_options : typing.Optional[RequestOptions]
246
+ Request-specific configuration.
247
+
248
+ Returns
249
+ -------
250
+ typing.List[ProjectsListResponseItem]
251
+ Success
252
+
253
+ Examples
254
+ --------
255
+ import asyncio
256
+
257
+ from mirascope.api._generated import AsyncMirascope
258
+
259
+ client = AsyncMirascope()
260
+
261
+
262
+ async def main() -> None:
263
+ await client.projects.list(
264
+ organization_id="organizationId",
265
+ )
266
+
267
+
268
+ asyncio.run(main())
269
+ """
270
+ _response = await self._raw_client.list(
271
+ organization_id, request_options=request_options
272
+ )
273
+ return _response.data
274
+
275
+ async def create(
276
+ self,
277
+ organization_id: str,
278
+ *,
279
+ name: str,
280
+ request_options: typing.Optional[RequestOptions] = None,
281
+ ) -> ProjectsCreateResponse:
282
+ """
283
+ Parameters
284
+ ----------
285
+ organization_id : str
286
+
287
+ name : str
288
+ a string at most 100 character(s) long
289
+
290
+ request_options : typing.Optional[RequestOptions]
291
+ Request-specific configuration.
292
+
293
+ Returns
294
+ -------
295
+ ProjectsCreateResponse
296
+ Success
297
+
298
+ Examples
299
+ --------
300
+ import asyncio
301
+
302
+ from mirascope.api._generated import AsyncMirascope
303
+
304
+ client = AsyncMirascope()
305
+
306
+
307
+ async def main() -> None:
308
+ await client.projects.create(
309
+ organization_id="organizationId",
310
+ name="name",
311
+ )
312
+
313
+
314
+ asyncio.run(main())
315
+ """
316
+ _response = await self._raw_client.create(
317
+ organization_id, name=name, request_options=request_options
318
+ )
319
+ return _response.data
320
+
321
+ async def get(
322
+ self,
323
+ organization_id: str,
324
+ project_id: str,
325
+ *,
326
+ request_options: typing.Optional[RequestOptions] = None,
327
+ ) -> ProjectsGetResponse:
328
+ """
329
+ Parameters
330
+ ----------
331
+ organization_id : str
332
+
333
+ project_id : str
334
+
335
+ request_options : typing.Optional[RequestOptions]
336
+ Request-specific configuration.
337
+
338
+ Returns
339
+ -------
340
+ ProjectsGetResponse
341
+ Success
342
+
343
+ Examples
344
+ --------
345
+ import asyncio
346
+
347
+ from mirascope.api._generated import AsyncMirascope
348
+
349
+ client = AsyncMirascope()
350
+
351
+
352
+ async def main() -> None:
353
+ await client.projects.get(
354
+ organization_id="organizationId",
355
+ project_id="projectId",
356
+ )
357
+
358
+
359
+ asyncio.run(main())
360
+ """
361
+ _response = await self._raw_client.get(
362
+ organization_id, project_id, request_options=request_options
363
+ )
364
+ return _response.data
365
+
366
+ async def update(
367
+ self,
368
+ organization_id: str,
369
+ project_id: str,
370
+ *,
371
+ name: str,
372
+ request_options: typing.Optional[RequestOptions] = None,
373
+ ) -> ProjectsUpdateResponse:
374
+ """
375
+ Parameters
376
+ ----------
377
+ organization_id : str
378
+
379
+ project_id : str
380
+
381
+ name : str
382
+ a string at most 100 character(s) long
383
+
384
+ request_options : typing.Optional[RequestOptions]
385
+ Request-specific configuration.
386
+
387
+ Returns
388
+ -------
389
+ ProjectsUpdateResponse
390
+ Success
391
+
392
+ Examples
393
+ --------
394
+ import asyncio
395
+
396
+ from mirascope.api._generated import AsyncMirascope
397
+
398
+ client = AsyncMirascope()
399
+
400
+
401
+ async def main() -> None:
402
+ await client.projects.update(
403
+ organization_id="organizationId",
404
+ project_id="projectId",
405
+ name="name",
406
+ )
407
+
408
+
409
+ asyncio.run(main())
410
+ """
411
+ _response = await self._raw_client.update(
412
+ organization_id, project_id, name=name, request_options=request_options
413
+ )
414
+ return _response.data
415
+
416
+ async def delete(
417
+ self,
418
+ organization_id: str,
419
+ project_id: str,
420
+ *,
421
+ request_options: typing.Optional[RequestOptions] = None,
422
+ ) -> None:
423
+ """
424
+ Parameters
425
+ ----------
426
+ organization_id : str
427
+
428
+ project_id : str
429
+
430
+ request_options : typing.Optional[RequestOptions]
431
+ Request-specific configuration.
432
+
433
+ Returns
434
+ -------
435
+ None
436
+
437
+ Examples
438
+ --------
439
+ import asyncio
440
+
441
+ from mirascope.api._generated import AsyncMirascope
442
+
443
+ client = AsyncMirascope()
444
+
445
+
446
+ async def main() -> None:
447
+ await client.projects.delete(
448
+ organization_id="organizationId",
449
+ project_id="projectId",
450
+ )
451
+
452
+
453
+ asyncio.run(main())
454
+ """
455
+ _response = await self._raw_client.delete(
456
+ organization_id, project_id, request_options=request_options
457
+ )
458
+ return _response.data