mirascope 2.0.0a4__py3-none-any.whl → 2.0.0a6__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 (215) hide show
  1. mirascope/__init__.py +10 -1
  2. mirascope/_stubs.py +363 -0
  3. mirascope/api/__init__.py +8 -0
  4. mirascope/api/_generated/__init__.py +119 -1
  5. mirascope/api/_generated/annotations/__init__.py +33 -0
  6. mirascope/api/_generated/annotations/client.py +474 -0
  7. mirascope/api/_generated/annotations/raw_client.py +1095 -0
  8. mirascope/api/_generated/annotations/types/__init__.py +31 -0
  9. mirascope/api/_generated/annotations/types/annotations_create_request_label.py +5 -0
  10. mirascope/api/_generated/annotations/types/annotations_create_response.py +35 -0
  11. mirascope/api/_generated/annotations/types/annotations_create_response_label.py +5 -0
  12. mirascope/api/_generated/annotations/types/annotations_get_response.py +35 -0
  13. mirascope/api/_generated/annotations/types/annotations_get_response_label.py +5 -0
  14. mirascope/api/_generated/annotations/types/annotations_list_request_label.py +5 -0
  15. mirascope/api/_generated/annotations/types/annotations_list_response.py +21 -0
  16. mirascope/api/_generated/annotations/types/annotations_list_response_annotations_item.py +35 -0
  17. mirascope/api/_generated/annotations/types/annotations_list_response_annotations_item_label.py +5 -0
  18. mirascope/api/_generated/annotations/types/annotations_update_request_label.py +5 -0
  19. mirascope/api/_generated/annotations/types/annotations_update_response.py +35 -0
  20. mirascope/api/_generated/annotations/types/annotations_update_response_label.py +5 -0
  21. mirascope/api/_generated/api_keys/__init__.py +7 -0
  22. mirascope/api/_generated/api_keys/client.py +429 -0
  23. mirascope/api/_generated/api_keys/raw_client.py +788 -0
  24. mirascope/api/_generated/api_keys/types/__init__.py +9 -0
  25. mirascope/api/_generated/api_keys/types/api_keys_create_response.py +28 -0
  26. mirascope/api/_generated/api_keys/types/api_keys_get_response.py +27 -0
  27. mirascope/api/_generated/api_keys/types/api_keys_list_response_item.py +27 -0
  28. mirascope/api/_generated/client.py +12 -0
  29. mirascope/api/_generated/core/client_wrapper.py +2 -14
  30. mirascope/api/_generated/core/datetime_utils.py +1 -3
  31. mirascope/api/_generated/core/file.py +2 -5
  32. mirascope/api/_generated/core/http_client.py +36 -112
  33. mirascope/api/_generated/core/jsonable_encoder.py +1 -3
  34. mirascope/api/_generated/core/pydantic_utilities.py +19 -74
  35. mirascope/api/_generated/core/query_encoder.py +1 -3
  36. mirascope/api/_generated/core/serialization.py +4 -10
  37. mirascope/api/_generated/docs/client.py +2 -6
  38. mirascope/api/_generated/docs/raw_client.py +4 -20
  39. mirascope/api/_generated/environments/__init__.py +17 -0
  40. mirascope/api/_generated/environments/client.py +500 -0
  41. mirascope/api/_generated/environments/raw_client.py +999 -0
  42. mirascope/api/_generated/environments/types/__init__.py +15 -0
  43. mirascope/api/_generated/environments/types/environments_create_response.py +24 -0
  44. mirascope/api/_generated/environments/types/environments_get_response.py +24 -0
  45. mirascope/api/_generated/environments/types/environments_list_response_item.py +24 -0
  46. mirascope/api/_generated/environments/types/environments_update_response.py +24 -0
  47. mirascope/api/_generated/errors/__init__.py +2 -0
  48. mirascope/api/_generated/errors/bad_request_error.py +1 -5
  49. mirascope/api/_generated/errors/conflict_error.py +1 -5
  50. mirascope/api/_generated/errors/forbidden_error.py +1 -5
  51. mirascope/api/_generated/errors/internal_server_error.py +1 -6
  52. mirascope/api/_generated/errors/not_found_error.py +1 -5
  53. mirascope/api/_generated/errors/unauthorized_error.py +11 -0
  54. mirascope/api/_generated/functions/__init__.py +29 -0
  55. mirascope/api/_generated/functions/client.py +433 -0
  56. mirascope/api/_generated/functions/raw_client.py +1049 -0
  57. mirascope/api/_generated/functions/types/__init__.py +29 -0
  58. mirascope/api/_generated/functions/types/functions_create_request_dependencies_value.py +20 -0
  59. mirascope/api/_generated/functions/types/functions_create_response.py +37 -0
  60. mirascope/api/_generated/functions/types/functions_create_response_dependencies_value.py +20 -0
  61. mirascope/api/_generated/functions/types/functions_find_by_hash_response.py +39 -0
  62. mirascope/api/_generated/functions/types/functions_find_by_hash_response_dependencies_value.py +20 -0
  63. mirascope/api/_generated/functions/types/functions_get_response.py +37 -0
  64. mirascope/api/_generated/functions/types/functions_get_response_dependencies_value.py +20 -0
  65. mirascope/api/_generated/functions/types/functions_list_response.py +21 -0
  66. mirascope/api/_generated/functions/types/functions_list_response_functions_item.py +41 -0
  67. mirascope/api/_generated/functions/types/functions_list_response_functions_item_dependencies_value.py +20 -0
  68. mirascope/api/_generated/health/client.py +2 -6
  69. mirascope/api/_generated/health/raw_client.py +5 -23
  70. mirascope/api/_generated/health/types/health_check_response.py +1 -3
  71. mirascope/api/_generated/organizations/__init__.py +2 -0
  72. mirascope/api/_generated/organizations/client.py +94 -27
  73. mirascope/api/_generated/organizations/raw_client.py +246 -128
  74. mirascope/api/_generated/organizations/types/__init__.py +2 -0
  75. mirascope/api/_generated/organizations/types/organizations_create_response.py +5 -3
  76. mirascope/api/_generated/organizations/types/organizations_create_response_role.py +1 -3
  77. mirascope/api/_generated/organizations/types/organizations_credits_response.py +19 -0
  78. mirascope/api/_generated/organizations/types/organizations_get_response.py +5 -3
  79. mirascope/api/_generated/organizations/types/organizations_get_response_role.py +1 -3
  80. mirascope/api/_generated/organizations/types/organizations_list_response_item.py +5 -3
  81. mirascope/api/_generated/organizations/types/organizations_list_response_item_role.py +1 -3
  82. mirascope/api/_generated/organizations/types/organizations_update_response.py +5 -3
  83. mirascope/api/_generated/organizations/types/organizations_update_response_role.py +1 -3
  84. mirascope/api/_generated/projects/__init__.py +2 -12
  85. mirascope/api/_generated/projects/client.py +38 -68
  86. mirascope/api/_generated/projects/raw_client.py +92 -163
  87. mirascope/api/_generated/projects/types/__init__.py +1 -6
  88. mirascope/api/_generated/projects/types/projects_create_response.py +4 -9
  89. mirascope/api/_generated/projects/types/projects_get_response.py +4 -9
  90. mirascope/api/_generated/projects/types/projects_list_response_item.py +4 -9
  91. mirascope/api/_generated/projects/types/projects_update_response.py +4 -9
  92. mirascope/api/_generated/reference.md +1862 -70
  93. mirascope/api/_generated/traces/__init__.py +22 -0
  94. mirascope/api/_generated/traces/client.py +398 -0
  95. mirascope/api/_generated/traces/raw_client.py +902 -18
  96. mirascope/api/_generated/traces/types/__init__.py +32 -0
  97. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item.py +4 -11
  98. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource.py +2 -6
  99. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item.py +1 -3
  100. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value.py +8 -24
  101. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_array_value.py +2 -6
  102. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value.py +3 -9
  103. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value_values_item.py +2 -6
  104. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item.py +3 -9
  105. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope.py +4 -8
  106. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item.py +2 -6
  107. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value.py +8 -24
  108. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_array_value.py +2 -6
  109. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value.py +3 -9
  110. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value_values_item.py +1 -3
  111. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item.py +6 -18
  112. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item.py +3 -9
  113. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value.py +8 -24
  114. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_array_value.py +2 -6
  115. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value.py +2 -6
  116. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value_values_item.py +1 -3
  117. mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_status.py +2 -6
  118. mirascope/api/_generated/traces/types/traces_create_response.py +2 -5
  119. mirascope/api/_generated/traces/types/traces_create_response_partial_success.py +3 -9
  120. mirascope/api/_generated/traces/types/traces_get_analytics_summary_response.py +54 -0
  121. mirascope/api/_generated/traces/types/traces_get_analytics_summary_response_top_functions_item.py +24 -0
  122. mirascope/api/_generated/traces/types/traces_get_analytics_summary_response_top_models_item.py +22 -0
  123. mirascope/api/_generated/traces/types/traces_get_trace_detail_response.py +33 -0
  124. mirascope/api/_generated/traces/types/traces_get_trace_detail_response_spans_item.py +90 -0
  125. mirascope/api/_generated/traces/types/traces_search_request_attribute_filters_item.py +26 -0
  126. mirascope/api/_generated/traces/types/traces_search_request_attribute_filters_item_operator.py +7 -0
  127. mirascope/api/_generated/traces/types/traces_search_request_sort_by.py +7 -0
  128. mirascope/api/_generated/traces/types/traces_search_request_sort_order.py +5 -0
  129. mirascope/api/_generated/traces/types/traces_search_response.py +26 -0
  130. mirascope/api/_generated/traces/types/traces_search_response_spans_item.py +41 -0
  131. mirascope/api/_generated/types/__init__.py +18 -0
  132. mirascope/api/_generated/types/already_exists_error.py +1 -3
  133. mirascope/api/_generated/types/click_house_error.py +22 -0
  134. mirascope/api/_generated/types/database_error.py +1 -3
  135. mirascope/api/_generated/types/http_api_decode_error.py +1 -3
  136. mirascope/api/_generated/types/internal_server_error_body.py +49 -0
  137. mirascope/api/_generated/types/issue.py +1 -3
  138. mirascope/api/_generated/types/issue_tag.py +1 -8
  139. mirascope/api/_generated/types/not_found_error_body.py +1 -3
  140. mirascope/api/_generated/types/number_from_string.py +3 -0
  141. mirascope/api/_generated/types/permission_denied_error.py +1 -3
  142. mirascope/api/_generated/types/permission_denied_error_tag.py +1 -3
  143. mirascope/api/_generated/types/property_key_key.py +1 -3
  144. mirascope/api/_generated/types/stripe_error.py +20 -0
  145. mirascope/api/_generated/types/unauthorized_error_body.py +21 -0
  146. mirascope/api/_generated/types/unauthorized_error_tag.py +5 -0
  147. mirascope/llm/__init__.py +6 -2
  148. mirascope/llm/content/tool_call.py +6 -0
  149. mirascope/llm/exceptions.py +28 -0
  150. mirascope/llm/formatting/__init__.py +2 -2
  151. mirascope/llm/formatting/format.py +120 -8
  152. mirascope/llm/formatting/types.py +1 -56
  153. mirascope/llm/mcp/__init__.py +2 -2
  154. mirascope/llm/mcp/mcp_client.py +130 -0
  155. mirascope/llm/providers/__init__.py +26 -5
  156. mirascope/llm/providers/anthropic/__init__.py +3 -21
  157. mirascope/llm/providers/anthropic/_utils/__init__.py +2 -0
  158. mirascope/llm/providers/anthropic/_utils/beta_decode.py +4 -2
  159. mirascope/llm/providers/anthropic/_utils/beta_encode.py +13 -12
  160. mirascope/llm/providers/anthropic/_utils/decode.py +4 -2
  161. mirascope/llm/providers/anthropic/_utils/encode.py +57 -14
  162. mirascope/llm/providers/anthropic/_utils/errors.py +46 -0
  163. mirascope/llm/providers/anthropic/beta_provider.py +6 -0
  164. mirascope/llm/providers/anthropic/provider.py +5 -0
  165. mirascope/llm/providers/base/__init__.py +5 -2
  166. mirascope/llm/providers/base/_utils.py +2 -7
  167. mirascope/llm/providers/base/base_provider.py +173 -58
  168. mirascope/llm/providers/base/params.py +63 -34
  169. mirascope/llm/providers/google/__init__.py +2 -17
  170. mirascope/llm/providers/google/_utils/__init__.py +2 -0
  171. mirascope/llm/providers/google/_utils/decode.py +17 -8
  172. mirascope/llm/providers/google/_utils/encode.py +105 -16
  173. mirascope/llm/providers/google/_utils/errors.py +49 -0
  174. mirascope/llm/providers/google/model_info.py +1 -0
  175. mirascope/llm/providers/google/provider.py +9 -5
  176. mirascope/llm/providers/mirascope/__init__.py +5 -0
  177. mirascope/llm/providers/mirascope/_utils.py +77 -0
  178. mirascope/llm/providers/mirascope/provider.py +318 -0
  179. mirascope/llm/providers/mlx/__init__.py +2 -17
  180. mirascope/llm/providers/mlx/_utils.py +9 -2
  181. mirascope/llm/providers/mlx/provider.py +8 -0
  182. mirascope/llm/providers/ollama/__init__.py +1 -13
  183. mirascope/llm/providers/openai/__init__.py +10 -1
  184. mirascope/llm/providers/openai/_utils/__init__.py +5 -0
  185. mirascope/llm/providers/openai/_utils/errors.py +46 -0
  186. mirascope/llm/providers/openai/completions/__init__.py +2 -20
  187. mirascope/llm/providers/openai/completions/_utils/decode.py +14 -3
  188. mirascope/llm/providers/openai/completions/_utils/encode.py +15 -12
  189. mirascope/llm/providers/openai/completions/base_provider.py +6 -6
  190. mirascope/llm/providers/openai/provider.py +14 -1
  191. mirascope/llm/providers/openai/responses/__init__.py +1 -17
  192. mirascope/llm/providers/openai/responses/_utils/decode.py +2 -2
  193. mirascope/llm/providers/openai/responses/_utils/encode.py +43 -15
  194. mirascope/llm/providers/openai/responses/provider.py +13 -7
  195. mirascope/llm/providers/provider_id.py +1 -0
  196. mirascope/llm/providers/provider_registry.py +59 -3
  197. mirascope/llm/providers/together/__init__.py +1 -13
  198. mirascope/llm/responses/base_stream_response.py +24 -20
  199. mirascope/llm/tools/decorator.py +8 -4
  200. mirascope/llm/tools/tool_schema.py +33 -6
  201. mirascope/llm/tools/tools.py +84 -16
  202. mirascope/ops/__init__.py +60 -109
  203. mirascope/ops/_internal/closure.py +62 -11
  204. mirascope/ops/_internal/instrumentation/llm/llm.py +1 -2
  205. mirascope/ops/_internal/traced_functions.py +23 -4
  206. mirascope/ops/_internal/versioned_functions.py +54 -43
  207. {mirascope-2.0.0a4.dist-info → mirascope-2.0.0a6.dist-info}/METADATA +7 -7
  208. mirascope-2.0.0a6.dist-info/RECORD +316 -0
  209. mirascope/llm/formatting/_utils.py +0 -78
  210. mirascope/llm/mcp/client.py +0 -118
  211. mirascope/llm/providers/_missing_import_stubs.py +0 -49
  212. mirascope/llm/providers/load_provider.py +0 -54
  213. mirascope-2.0.0a4.dist-info/RECORD +0 -247
  214. {mirascope-2.0.0a4.dist-info → mirascope-2.0.0a6.dist-info}/WHEEL +0 -0
  215. {mirascope-2.0.0a4.dist-info → mirascope-2.0.0a6.dist-info}/licenses/LICENSE +0 -0
@@ -3,19 +3,21 @@
3
3
  import typing
4
4
 
5
5
  import pydantic
6
+ import typing_extensions
6
7
  from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
+ from ...core.serialization import FieldMetadata
7
9
  from .organizations_get_response_role import OrganizationsGetResponseRole
8
10
 
9
11
 
10
12
  class OrganizationsGetResponse(UniversalBaseModel):
11
13
  id: str
12
14
  name: str
15
+ slug: str
16
+ stripe_customer_id: typing_extensions.Annotated[str, FieldMetadata(alias="stripeCustomerId")]
13
17
  role: OrganizationsGetResponseRole
14
18
 
15
19
  if IS_PYDANTIC_V2:
16
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
17
- extra="allow", frozen=True
18
- ) # type: ignore # Pydantic v2
20
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
21
  else:
20
22
 
21
23
  class Config:
@@ -2,6 +2,4 @@
2
2
 
3
3
  import typing
4
4
 
5
- OrganizationsGetResponseRole = typing.Union[
6
- typing.Literal["OWNER", "ADMIN", "MEMBER"], typing.Any
7
- ]
5
+ OrganizationsGetResponseRole = typing.Union[typing.Literal["OWNER", "ADMIN", "MEMBER"], typing.Any]
@@ -3,19 +3,21 @@
3
3
  import typing
4
4
 
5
5
  import pydantic
6
+ import typing_extensions
6
7
  from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
+ from ...core.serialization import FieldMetadata
7
9
  from .organizations_list_response_item_role import OrganizationsListResponseItemRole
8
10
 
9
11
 
10
12
  class OrganizationsListResponseItem(UniversalBaseModel):
11
13
  id: str
12
14
  name: str
15
+ slug: str
16
+ stripe_customer_id: typing_extensions.Annotated[str, FieldMetadata(alias="stripeCustomerId")]
13
17
  role: OrganizationsListResponseItemRole
14
18
 
15
19
  if IS_PYDANTIC_V2:
16
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
17
- extra="allow", frozen=True
18
- ) # type: ignore # Pydantic v2
20
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
21
  else:
20
22
 
21
23
  class Config:
@@ -2,6 +2,4 @@
2
2
 
3
3
  import typing
4
4
 
5
- OrganizationsListResponseItemRole = typing.Union[
6
- typing.Literal["OWNER", "ADMIN", "MEMBER"], typing.Any
7
- ]
5
+ OrganizationsListResponseItemRole = typing.Union[typing.Literal["OWNER", "ADMIN", "MEMBER"], typing.Any]
@@ -3,19 +3,21 @@
3
3
  import typing
4
4
 
5
5
  import pydantic
6
+ import typing_extensions
6
7
  from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
+ from ...core.serialization import FieldMetadata
7
9
  from .organizations_update_response_role import OrganizationsUpdateResponseRole
8
10
 
9
11
 
10
12
  class OrganizationsUpdateResponse(UniversalBaseModel):
11
13
  id: str
12
14
  name: str
15
+ slug: str
16
+ stripe_customer_id: typing_extensions.Annotated[str, FieldMetadata(alias="stripeCustomerId")]
13
17
  role: OrganizationsUpdateResponseRole
14
18
 
15
19
  if IS_PYDANTIC_V2:
16
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
17
- extra="allow", frozen=True
18
- ) # type: ignore # Pydantic v2
20
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
21
  else:
20
22
 
21
23
  class Config:
@@ -2,6 +2,4 @@
2
2
 
3
3
  import typing
4
4
 
5
- OrganizationsUpdateResponseRole = typing.Union[
6
- typing.Literal["OWNER", "ADMIN", "MEMBER"], typing.Any
7
- ]
5
+ OrganizationsUpdateResponseRole = typing.Union[typing.Literal["OWNER", "ADMIN", "MEMBER"], typing.Any]
@@ -2,16 +2,6 @@
2
2
 
3
3
  # isort: skip_file
4
4
 
5
- from .types import (
6
- ProjectsCreateResponse,
7
- ProjectsGetResponse,
8
- ProjectsListResponseItem,
9
- ProjectsUpdateResponse,
10
- )
5
+ from .types import ProjectsCreateResponse, ProjectsGetResponse, ProjectsListResponseItem, ProjectsUpdateResponse
11
6
 
12
- __all__ = [
13
- "ProjectsCreateResponse",
14
- "ProjectsGetResponse",
15
- "ProjectsListResponseItem",
16
- "ProjectsUpdateResponse",
17
- ]
7
+ __all__ = ["ProjectsCreateResponse", "ProjectsGetResponse", "ProjectsListResponseItem", "ProjectsUpdateResponse"]
@@ -30,10 +30,7 @@ class ProjectsClient:
30
30
  return self._raw_client
31
31
 
32
32
  def list(
33
- self,
34
- organization_id: str,
35
- *,
36
- request_options: typing.Optional[RequestOptions] = None,
33
+ self, organization_id: str, *, request_options: typing.Optional[RequestOptions] = None
37
34
  ) -> typing.List[ProjectsListResponseItem]:
38
35
  """
39
36
  Parameters
@@ -57,17 +54,11 @@ class ProjectsClient:
57
54
  organization_id="organizationId",
58
55
  )
59
56
  """
60
- _response = self._raw_client.list(
61
- organization_id, request_options=request_options
62
- )
57
+ _response = self._raw_client.list(organization_id, request_options=request_options)
63
58
  return _response.data
64
59
 
65
60
  def create(
66
- self,
67
- organization_id: str,
68
- *,
69
- name: str,
70
- request_options: typing.Optional[RequestOptions] = None,
61
+ self, organization_id: str, *, name: str, slug: str, request_options: typing.Optional[RequestOptions] = None
71
62
  ) -> ProjectsCreateResponse:
72
63
  """
73
64
  Parameters
@@ -77,6 +68,9 @@ class ProjectsClient:
77
68
  name : str
78
69
  a string at most 100 character(s) long
79
70
 
71
+ slug : str
72
+ a string matching the pattern ^[a-z0-9][a-z0-9_-]*[a-z0-9]$
73
+
80
74
  request_options : typing.Optional[RequestOptions]
81
75
  Request-specific configuration.
82
76
 
@@ -93,19 +87,14 @@ class ProjectsClient:
93
87
  client.projects.create(
94
88
  organization_id="organizationId",
95
89
  name="name",
90
+ slug="slug",
96
91
  )
97
92
  """
98
- _response = self._raw_client.create(
99
- organization_id, name=name, request_options=request_options
100
- )
93
+ _response = self._raw_client.create(organization_id, name=name, slug=slug, request_options=request_options)
101
94
  return _response.data
102
95
 
103
96
  def get(
104
- self,
105
- organization_id: str,
106
- project_id: str,
107
- *,
108
- request_options: typing.Optional[RequestOptions] = None,
97
+ self, organization_id: str, project_id: str, *, request_options: typing.Optional[RequestOptions] = None
109
98
  ) -> ProjectsGetResponse:
110
99
  """
111
100
  Parameters
@@ -132,9 +121,7 @@ class ProjectsClient:
132
121
  project_id="projectId",
133
122
  )
134
123
  """
135
- _response = self._raw_client.get(
136
- organization_id, project_id, request_options=request_options
137
- )
124
+ _response = self._raw_client.get(organization_id, project_id, request_options=request_options)
138
125
  return _response.data
139
126
 
140
127
  def update(
@@ -142,7 +129,8 @@ class ProjectsClient:
142
129
  organization_id: str,
143
130
  project_id: str,
144
131
  *,
145
- name: str,
132
+ name: typing.Optional[str] = OMIT,
133
+ slug: typing.Optional[str] = OMIT,
146
134
  request_options: typing.Optional[RequestOptions] = None,
147
135
  ) -> ProjectsUpdateResponse:
148
136
  """
@@ -152,9 +140,12 @@ class ProjectsClient:
152
140
 
153
141
  project_id : str
154
142
 
155
- name : str
143
+ name : typing.Optional[str]
156
144
  a string at most 100 character(s) long
157
145
 
146
+ slug : typing.Optional[str]
147
+ a string matching the pattern ^[a-z0-9][a-z0-9_-]*[a-z0-9]$
148
+
158
149
  request_options : typing.Optional[RequestOptions]
159
150
  Request-specific configuration.
160
151
 
@@ -171,20 +162,15 @@ class ProjectsClient:
171
162
  client.projects.update(
172
163
  organization_id="organizationId",
173
164
  project_id="projectId",
174
- name="name",
175
165
  )
176
166
  """
177
167
  _response = self._raw_client.update(
178
- organization_id, project_id, name=name, request_options=request_options
168
+ organization_id, project_id, name=name, slug=slug, request_options=request_options
179
169
  )
180
170
  return _response.data
181
171
 
182
172
  def delete(
183
- self,
184
- organization_id: str,
185
- project_id: str,
186
- *,
187
- request_options: typing.Optional[RequestOptions] = None,
173
+ self, organization_id: str, project_id: str, *, request_options: typing.Optional[RequestOptions] = None
188
174
  ) -> None:
189
175
  """
190
176
  Parameters
@@ -210,9 +196,7 @@ class ProjectsClient:
210
196
  project_id="projectId",
211
197
  )
212
198
  """
213
- _response = self._raw_client.delete(
214
- organization_id, project_id, request_options=request_options
215
- )
199
+ _response = self._raw_client.delete(organization_id, project_id, request_options=request_options)
216
200
  return _response.data
217
201
 
218
202
 
@@ -232,10 +216,7 @@ class AsyncProjectsClient:
232
216
  return self._raw_client
233
217
 
234
218
  async def list(
235
- self,
236
- organization_id: str,
237
- *,
238
- request_options: typing.Optional[RequestOptions] = None,
219
+ self, organization_id: str, *, request_options: typing.Optional[RequestOptions] = None
239
220
  ) -> typing.List[ProjectsListResponseItem]:
240
221
  """
241
222
  Parameters
@@ -267,17 +248,11 @@ class AsyncProjectsClient:
267
248
 
268
249
  asyncio.run(main())
269
250
  """
270
- _response = await self._raw_client.list(
271
- organization_id, request_options=request_options
272
- )
251
+ _response = await self._raw_client.list(organization_id, request_options=request_options)
273
252
  return _response.data
274
253
 
275
254
  async def create(
276
- self,
277
- organization_id: str,
278
- *,
279
- name: str,
280
- request_options: typing.Optional[RequestOptions] = None,
255
+ self, organization_id: str, *, name: str, slug: str, request_options: typing.Optional[RequestOptions] = None
281
256
  ) -> ProjectsCreateResponse:
282
257
  """
283
258
  Parameters
@@ -287,6 +262,9 @@ class AsyncProjectsClient:
287
262
  name : str
288
263
  a string at most 100 character(s) long
289
264
 
265
+ slug : str
266
+ a string matching the pattern ^[a-z0-9][a-z0-9_-]*[a-z0-9]$
267
+
290
268
  request_options : typing.Optional[RequestOptions]
291
269
  Request-specific configuration.
292
270
 
@@ -308,22 +286,19 @@ class AsyncProjectsClient:
308
286
  await client.projects.create(
309
287
  organization_id="organizationId",
310
288
  name="name",
289
+ slug="slug",
311
290
  )
312
291
 
313
292
 
314
293
  asyncio.run(main())
315
294
  """
316
295
  _response = await self._raw_client.create(
317
- organization_id, name=name, request_options=request_options
296
+ organization_id, name=name, slug=slug, request_options=request_options
318
297
  )
319
298
  return _response.data
320
299
 
321
300
  async def get(
322
- self,
323
- organization_id: str,
324
- project_id: str,
325
- *,
326
- request_options: typing.Optional[RequestOptions] = None,
301
+ self, organization_id: str, project_id: str, *, request_options: typing.Optional[RequestOptions] = None
327
302
  ) -> ProjectsGetResponse:
328
303
  """
329
304
  Parameters
@@ -358,9 +333,7 @@ class AsyncProjectsClient:
358
333
 
359
334
  asyncio.run(main())
360
335
  """
361
- _response = await self._raw_client.get(
362
- organization_id, project_id, request_options=request_options
363
- )
336
+ _response = await self._raw_client.get(organization_id, project_id, request_options=request_options)
364
337
  return _response.data
365
338
 
366
339
  async def update(
@@ -368,7 +341,8 @@ class AsyncProjectsClient:
368
341
  organization_id: str,
369
342
  project_id: str,
370
343
  *,
371
- name: str,
344
+ name: typing.Optional[str] = OMIT,
345
+ slug: typing.Optional[str] = OMIT,
372
346
  request_options: typing.Optional[RequestOptions] = None,
373
347
  ) -> ProjectsUpdateResponse:
374
348
  """
@@ -378,9 +352,12 @@ class AsyncProjectsClient:
378
352
 
379
353
  project_id : str
380
354
 
381
- name : str
355
+ name : typing.Optional[str]
382
356
  a string at most 100 character(s) long
383
357
 
358
+ slug : typing.Optional[str]
359
+ a string matching the pattern ^[a-z0-9][a-z0-9_-]*[a-z0-9]$
360
+
384
361
  request_options : typing.Optional[RequestOptions]
385
362
  Request-specific configuration.
386
363
 
@@ -402,23 +379,18 @@ class AsyncProjectsClient:
402
379
  await client.projects.update(
403
380
  organization_id="organizationId",
404
381
  project_id="projectId",
405
- name="name",
406
382
  )
407
383
 
408
384
 
409
385
  asyncio.run(main())
410
386
  """
411
387
  _response = await self._raw_client.update(
412
- organization_id, project_id, name=name, request_options=request_options
388
+ organization_id, project_id, name=name, slug=slug, request_options=request_options
413
389
  )
414
390
  return _response.data
415
391
 
416
392
  async def delete(
417
- self,
418
- organization_id: str,
419
- project_id: str,
420
- *,
421
- request_options: typing.Optional[RequestOptions] = None,
393
+ self, organization_id: str, project_id: str, *, request_options: typing.Optional[RequestOptions] = None
422
394
  ) -> None:
423
395
  """
424
396
  Parameters
@@ -452,7 +424,5 @@ class AsyncProjectsClient:
452
424
 
453
425
  asyncio.run(main())
454
426
  """
455
- _response = await self._raw_client.delete(
456
- organization_id, project_id, request_options=request_options
457
- )
427
+ _response = await self._raw_client.delete(organization_id, project_id, request_options=request_options)
458
428
  return _response.data