c63a5cfe-b235-4fbe-8bbb-82a9e02a482a-python 0.1.0a3__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 (190) hide show
  1. c63a5cfe_b235_4fbe_8bbb_82a9e02a482a_python-0.1.0a3.dist-info/METADATA +396 -0
  2. c63a5cfe_b235_4fbe_8bbb_82a9e02a482a_python-0.1.0a3.dist-info/RECORD +190 -0
  3. c63a5cfe_b235_4fbe_8bbb_82a9e02a482a_python-0.1.0a3.dist-info/WHEEL +4 -0
  4. c63a5cfe_b235_4fbe_8bbb_82a9e02a482a_python-0.1.0a3.dist-info/licenses/LICENSE +201 -0
  5. digitalocean_genai_sdk/__init__.py +99 -0
  6. digitalocean_genai_sdk/_base_client.py +1949 -0
  7. digitalocean_genai_sdk/_client.py +795 -0
  8. digitalocean_genai_sdk/_compat.py +219 -0
  9. digitalocean_genai_sdk/_constants.py +14 -0
  10. digitalocean_genai_sdk/_exceptions.py +108 -0
  11. digitalocean_genai_sdk/_files.py +123 -0
  12. digitalocean_genai_sdk/_models.py +805 -0
  13. digitalocean_genai_sdk/_qs.py +150 -0
  14. digitalocean_genai_sdk/_resource.py +43 -0
  15. digitalocean_genai_sdk/_response.py +832 -0
  16. digitalocean_genai_sdk/_streaming.py +333 -0
  17. digitalocean_genai_sdk/_types.py +219 -0
  18. digitalocean_genai_sdk/_utils/__init__.py +57 -0
  19. digitalocean_genai_sdk/_utils/_logs.py +25 -0
  20. digitalocean_genai_sdk/_utils/_proxy.py +65 -0
  21. digitalocean_genai_sdk/_utils/_reflection.py +42 -0
  22. digitalocean_genai_sdk/_utils/_resources_proxy.py +24 -0
  23. digitalocean_genai_sdk/_utils/_streams.py +12 -0
  24. digitalocean_genai_sdk/_utils/_sync.py +86 -0
  25. digitalocean_genai_sdk/_utils/_transform.py +447 -0
  26. digitalocean_genai_sdk/_utils/_typing.py +151 -0
  27. digitalocean_genai_sdk/_utils/_utils.py +422 -0
  28. digitalocean_genai_sdk/_version.py +4 -0
  29. digitalocean_genai_sdk/lib/.keep +4 -0
  30. digitalocean_genai_sdk/py.typed +0 -0
  31. digitalocean_genai_sdk/resources/__init__.py +145 -0
  32. digitalocean_genai_sdk/resources/agents/__init__.py +89 -0
  33. digitalocean_genai_sdk/resources/agents/agents.py +965 -0
  34. digitalocean_genai_sdk/resources/agents/api_keys.py +581 -0
  35. digitalocean_genai_sdk/resources/agents/child_agents.py +508 -0
  36. digitalocean_genai_sdk/resources/agents/functions.py +421 -0
  37. digitalocean_genai_sdk/resources/agents/knowledge_bases.py +346 -0
  38. digitalocean_genai_sdk/resources/agents/versions.py +298 -0
  39. digitalocean_genai_sdk/resources/api_keys/__init__.py +19 -0
  40. digitalocean_genai_sdk/resources/api_keys/api_keys.py +275 -0
  41. digitalocean_genai_sdk/resources/api_keys/api_keys_.py +529 -0
  42. digitalocean_genai_sdk/resources/auth/__init__.py +33 -0
  43. digitalocean_genai_sdk/resources/auth/agents/__init__.py +33 -0
  44. digitalocean_genai_sdk/resources/auth/agents/agents.py +102 -0
  45. digitalocean_genai_sdk/resources/auth/agents/token.py +173 -0
  46. digitalocean_genai_sdk/resources/auth/auth.py +102 -0
  47. digitalocean_genai_sdk/resources/chat.py +381 -0
  48. digitalocean_genai_sdk/resources/embeddings.py +201 -0
  49. digitalocean_genai_sdk/resources/indexing_jobs.py +543 -0
  50. digitalocean_genai_sdk/resources/knowledge_bases/__init__.py +33 -0
  51. digitalocean_genai_sdk/resources/knowledge_bases/data_sources.py +410 -0
  52. digitalocean_genai_sdk/resources/knowledge_bases/knowledge_bases.py +667 -0
  53. digitalocean_genai_sdk/resources/models.py +222 -0
  54. digitalocean_genai_sdk/resources/providers/__init__.py +47 -0
  55. digitalocean_genai_sdk/resources/providers/anthropic/__init__.py +33 -0
  56. digitalocean_genai_sdk/resources/providers/anthropic/anthropic.py +102 -0
  57. digitalocean_genai_sdk/resources/providers/anthropic/keys.py +662 -0
  58. digitalocean_genai_sdk/resources/providers/openai/__init__.py +33 -0
  59. digitalocean_genai_sdk/resources/providers/openai/keys.py +658 -0
  60. digitalocean_genai_sdk/resources/providers/openai/openai.py +102 -0
  61. digitalocean_genai_sdk/resources/providers/providers.py +134 -0
  62. digitalocean_genai_sdk/resources/regions.py +191 -0
  63. digitalocean_genai_sdk/types/__init__.py +57 -0
  64. digitalocean_genai_sdk/types/agent_create_params.py +39 -0
  65. digitalocean_genai_sdk/types/agent_create_response.py +16 -0
  66. digitalocean_genai_sdk/types/agent_delete_response.py +16 -0
  67. digitalocean_genai_sdk/types/agent_list_params.py +18 -0
  68. digitalocean_genai_sdk/types/agent_list_response.py +198 -0
  69. digitalocean_genai_sdk/types/agent_retrieve_response.py +16 -0
  70. digitalocean_genai_sdk/types/agent_update_params.py +65 -0
  71. digitalocean_genai_sdk/types/agent_update_response.py +16 -0
  72. digitalocean_genai_sdk/types/agent_update_status_params.py +16 -0
  73. digitalocean_genai_sdk/types/agent_update_status_response.py +16 -0
  74. digitalocean_genai_sdk/types/agents/__init__.py +31 -0
  75. digitalocean_genai_sdk/types/agents/api_key_create_params.py +15 -0
  76. digitalocean_genai_sdk/types/agents/api_key_create_response.py +12 -0
  77. digitalocean_genai_sdk/types/agents/api_key_delete_response.py +12 -0
  78. digitalocean_genai_sdk/types/agents/api_key_list_params.py +15 -0
  79. digitalocean_genai_sdk/types/agents/api_key_list_response.py +18 -0
  80. digitalocean_genai_sdk/types/agents/api_key_regenerate_response.py +12 -0
  81. digitalocean_genai_sdk/types/agents/api_key_update_params.py +19 -0
  82. digitalocean_genai_sdk/types/agents/api_key_update_response.py +12 -0
  83. digitalocean_genai_sdk/types/agents/api_link_knowledge_base_output.py +16 -0
  84. digitalocean_genai_sdk/types/agents/api_links.py +21 -0
  85. digitalocean_genai_sdk/types/agents/api_meta.py +15 -0
  86. digitalocean_genai_sdk/types/agents/child_agent_add_params.py +22 -0
  87. digitalocean_genai_sdk/types/agents/child_agent_add_response.py +14 -0
  88. digitalocean_genai_sdk/types/agents/child_agent_delete_response.py +13 -0
  89. digitalocean_genai_sdk/types/agents/child_agent_update_params.py +24 -0
  90. digitalocean_genai_sdk/types/agents/child_agent_update_response.py +18 -0
  91. digitalocean_genai_sdk/types/agents/child_agent_view_response.py +16 -0
  92. digitalocean_genai_sdk/types/agents/function_create_params.py +25 -0
  93. digitalocean_genai_sdk/types/agents/function_create_response.py +16 -0
  94. digitalocean_genai_sdk/types/agents/function_delete_response.py +16 -0
  95. digitalocean_genai_sdk/types/agents/function_update_params.py +29 -0
  96. digitalocean_genai_sdk/types/agents/function_update_response.py +16 -0
  97. digitalocean_genai_sdk/types/agents/knowledge_base_detach_response.py +16 -0
  98. digitalocean_genai_sdk/types/agents/version_list_params.py +15 -0
  99. digitalocean_genai_sdk/types/agents/version_list_response.py +118 -0
  100. digitalocean_genai_sdk/types/agents/version_update_params.py +15 -0
  101. digitalocean_genai_sdk/types/agents/version_update_response.py +30 -0
  102. digitalocean_genai_sdk/types/api_agent.py +263 -0
  103. digitalocean_genai_sdk/types/api_agent_api_key_info.py +22 -0
  104. digitalocean_genai_sdk/types/api_agreement.py +17 -0
  105. digitalocean_genai_sdk/types/api_anthropic_api_key_info.py +22 -0
  106. digitalocean_genai_sdk/types/api_deployment_visibility.py +9 -0
  107. digitalocean_genai_sdk/types/api_indexing_job.py +43 -0
  108. digitalocean_genai_sdk/types/api_key_list_params.py +42 -0
  109. digitalocean_genai_sdk/types/api_key_list_response.py +42 -0
  110. digitalocean_genai_sdk/types/api_keys/__init__.py +13 -0
  111. digitalocean_genai_sdk/types/api_keys/api_key_create_params.py +11 -0
  112. digitalocean_genai_sdk/types/api_keys/api_key_create_response.py +12 -0
  113. digitalocean_genai_sdk/types/api_keys/api_key_delete_response.py +12 -0
  114. digitalocean_genai_sdk/types/api_keys/api_key_list_params.py +15 -0
  115. digitalocean_genai_sdk/types/api_keys/api_key_list_response.py +18 -0
  116. digitalocean_genai_sdk/types/api_keys/api_key_update_params.py +15 -0
  117. digitalocean_genai_sdk/types/api_keys/api_key_update_regenerate_response.py +12 -0
  118. digitalocean_genai_sdk/types/api_keys/api_key_update_response.py +12 -0
  119. digitalocean_genai_sdk/types/api_keys/api_model_api_key_info.py +22 -0
  120. digitalocean_genai_sdk/types/api_knowledge_base.py +37 -0
  121. digitalocean_genai_sdk/types/api_model.py +57 -0
  122. digitalocean_genai_sdk/types/api_model_version.py +15 -0
  123. digitalocean_genai_sdk/types/api_openai_api_key_info.py +25 -0
  124. digitalocean_genai_sdk/types/api_retrieval_method.py +13 -0
  125. digitalocean_genai_sdk/types/auth/__init__.py +3 -0
  126. digitalocean_genai_sdk/types/auth/agents/__init__.py +6 -0
  127. digitalocean_genai_sdk/types/auth/agents/token_create_params.py +13 -0
  128. digitalocean_genai_sdk/types/auth/agents/token_create_response.py +13 -0
  129. digitalocean_genai_sdk/types/chat_completion_request_message_content_part_text_param.py +15 -0
  130. digitalocean_genai_sdk/types/chat_completion_token_logprob.py +57 -0
  131. digitalocean_genai_sdk/types/chat_create_completion_params.py +208 -0
  132. digitalocean_genai_sdk/types/chat_create_completion_response.py +81 -0
  133. digitalocean_genai_sdk/types/embedding_create_params.py +28 -0
  134. digitalocean_genai_sdk/types/embedding_create_response.py +41 -0
  135. digitalocean_genai_sdk/types/indexing_job_create_params.py +14 -0
  136. digitalocean_genai_sdk/types/indexing_job_create_response.py +12 -0
  137. digitalocean_genai_sdk/types/indexing_job_list_params.py +15 -0
  138. digitalocean_genai_sdk/types/indexing_job_list_response.py +18 -0
  139. digitalocean_genai_sdk/types/indexing_job_retrieve_data_sources_response.py +52 -0
  140. digitalocean_genai_sdk/types/indexing_job_retrieve_response.py +12 -0
  141. digitalocean_genai_sdk/types/indexing_job_update_cancel_params.py +14 -0
  142. digitalocean_genai_sdk/types/indexing_job_update_cancel_response.py +12 -0
  143. digitalocean_genai_sdk/types/knowledge_base_create_params.py +64 -0
  144. digitalocean_genai_sdk/types/knowledge_base_create_response.py +12 -0
  145. digitalocean_genai_sdk/types/knowledge_base_delete_response.py +11 -0
  146. digitalocean_genai_sdk/types/knowledge_base_list_params.py +15 -0
  147. digitalocean_genai_sdk/types/knowledge_base_list_response.py +18 -0
  148. digitalocean_genai_sdk/types/knowledge_base_retrieve_response.py +30 -0
  149. digitalocean_genai_sdk/types/knowledge_base_update_params.py +27 -0
  150. digitalocean_genai_sdk/types/knowledge_base_update_response.py +12 -0
  151. digitalocean_genai_sdk/types/knowledge_bases/__init__.py +16 -0
  152. digitalocean_genai_sdk/types/knowledge_bases/api_file_upload_data_source.py +15 -0
  153. digitalocean_genai_sdk/types/knowledge_bases/api_file_upload_data_source_param.py +15 -0
  154. digitalocean_genai_sdk/types/knowledge_bases/api_knowledge_base_data_source.py +35 -0
  155. digitalocean_genai_sdk/types/knowledge_bases/api_spaces_data_source.py +15 -0
  156. digitalocean_genai_sdk/types/knowledge_bases/api_spaces_data_source_param.py +15 -0
  157. digitalocean_genai_sdk/types/knowledge_bases/api_web_crawler_data_source.py +26 -0
  158. digitalocean_genai_sdk/types/knowledge_bases/api_web_crawler_data_source_param.py +25 -0
  159. digitalocean_genai_sdk/types/knowledge_bases/data_source_create_params.py +33 -0
  160. digitalocean_genai_sdk/types/knowledge_bases/data_source_create_response.py +12 -0
  161. digitalocean_genai_sdk/types/knowledge_bases/data_source_delete_response.py +13 -0
  162. digitalocean_genai_sdk/types/knowledge_bases/data_source_list_params.py +15 -0
  163. digitalocean_genai_sdk/types/knowledge_bases/data_source_list_response.py +18 -0
  164. digitalocean_genai_sdk/types/model.py +21 -0
  165. digitalocean_genai_sdk/types/model_list_response.py +15 -0
  166. digitalocean_genai_sdk/types/providers/__init__.py +3 -0
  167. digitalocean_genai_sdk/types/providers/anthropic/__init__.py +14 -0
  168. digitalocean_genai_sdk/types/providers/anthropic/key_create_params.py +13 -0
  169. digitalocean_genai_sdk/types/providers/anthropic/key_create_response.py +12 -0
  170. digitalocean_genai_sdk/types/providers/anthropic/key_delete_response.py +12 -0
  171. digitalocean_genai_sdk/types/providers/anthropic/key_list_agents_params.py +15 -0
  172. digitalocean_genai_sdk/types/providers/anthropic/key_list_agents_response.py +22 -0
  173. digitalocean_genai_sdk/types/providers/anthropic/key_list_params.py +15 -0
  174. digitalocean_genai_sdk/types/providers/anthropic/key_list_response.py +18 -0
  175. digitalocean_genai_sdk/types/providers/anthropic/key_retrieve_response.py +12 -0
  176. digitalocean_genai_sdk/types/providers/anthropic/key_update_params.py +17 -0
  177. digitalocean_genai_sdk/types/providers/anthropic/key_update_response.py +12 -0
  178. digitalocean_genai_sdk/types/providers/openai/__init__.py +14 -0
  179. digitalocean_genai_sdk/types/providers/openai/key_create_params.py +13 -0
  180. digitalocean_genai_sdk/types/providers/openai/key_create_response.py +12 -0
  181. digitalocean_genai_sdk/types/providers/openai/key_delete_response.py +12 -0
  182. digitalocean_genai_sdk/types/providers/openai/key_list_params.py +15 -0
  183. digitalocean_genai_sdk/types/providers/openai/key_list_response.py +18 -0
  184. digitalocean_genai_sdk/types/providers/openai/key_retrieve_agents_params.py +15 -0
  185. digitalocean_genai_sdk/types/providers/openai/key_retrieve_agents_response.py +22 -0
  186. digitalocean_genai_sdk/types/providers/openai/key_retrieve_response.py +12 -0
  187. digitalocean_genai_sdk/types/providers/openai/key_update_params.py +17 -0
  188. digitalocean_genai_sdk/types/providers/openai/key_update_response.py +12 -0
  189. digitalocean_genai_sdk/types/region_list_params.py +15 -0
  190. digitalocean_genai_sdk/types/region_list_response.py +23 -0
@@ -0,0 +1,662 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ import httpx
6
+
7
+ from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
8
+ from ...._utils import maybe_transform, async_maybe_transform
9
+ from ...._compat import cached_property
10
+ from ...._resource import SyncAPIResource, AsyncAPIResource
11
+ from ...._response import (
12
+ to_raw_response_wrapper,
13
+ to_streamed_response_wrapper,
14
+ async_to_raw_response_wrapper,
15
+ async_to_streamed_response_wrapper,
16
+ )
17
+ from ...._base_client import make_request_options
18
+ from ....types.providers.anthropic import key_list_params, key_create_params, key_update_params, key_list_agents_params
19
+ from ....types.providers.anthropic.key_list_response import KeyListResponse
20
+ from ....types.providers.anthropic.key_create_response import KeyCreateResponse
21
+ from ....types.providers.anthropic.key_delete_response import KeyDeleteResponse
22
+ from ....types.providers.anthropic.key_update_response import KeyUpdateResponse
23
+ from ....types.providers.anthropic.key_retrieve_response import KeyRetrieveResponse
24
+ from ....types.providers.anthropic.key_list_agents_response import KeyListAgentsResponse
25
+
26
+ __all__ = ["KeysResource", "AsyncKeysResource"]
27
+
28
+
29
+ class KeysResource(SyncAPIResource):
30
+ @cached_property
31
+ def with_raw_response(self) -> KeysResourceWithRawResponse:
32
+ """
33
+ This property can be used as a prefix for any HTTP method call to return
34
+ the raw response object instead of the parsed content.
35
+
36
+ For more information, see https://www.github.com/digitalocean/genai-python#accessing-raw-response-data-eg-headers
37
+ """
38
+ return KeysResourceWithRawResponse(self)
39
+
40
+ @cached_property
41
+ def with_streaming_response(self) -> KeysResourceWithStreamingResponse:
42
+ """
43
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
44
+
45
+ For more information, see https://www.github.com/digitalocean/genai-python#with_streaming_response
46
+ """
47
+ return KeysResourceWithStreamingResponse(self)
48
+
49
+ def create(
50
+ self,
51
+ *,
52
+ api_key: str | NotGiven = NOT_GIVEN,
53
+ name: str | NotGiven = NOT_GIVEN,
54
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
55
+ # The extra values given here take precedence over values defined on the client or passed to this method.
56
+ extra_headers: Headers | None = None,
57
+ extra_query: Query | None = None,
58
+ extra_body: Body | None = None,
59
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
60
+ ) -> KeyCreateResponse:
61
+ """
62
+ To create an Anthropic API key, send a POST request to
63
+ `/v2/gen-ai/anthropic/keys`.
64
+
65
+ Args:
66
+ extra_headers: Send extra headers
67
+
68
+ extra_query: Add additional query parameters to the request
69
+
70
+ extra_body: Add additional JSON properties to the request
71
+
72
+ timeout: Override the client-level default timeout for this request, in seconds
73
+ """
74
+ return self._post(
75
+ "/v2/genai/anthropic/keys",
76
+ body=maybe_transform(
77
+ {
78
+ "api_key": api_key,
79
+ "name": name,
80
+ },
81
+ key_create_params.KeyCreateParams,
82
+ ),
83
+ options=make_request_options(
84
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
85
+ ),
86
+ cast_to=KeyCreateResponse,
87
+ )
88
+
89
+ def retrieve(
90
+ self,
91
+ api_key_uuid: str,
92
+ *,
93
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
94
+ # The extra values given here take precedence over values defined on the client or passed to this method.
95
+ extra_headers: Headers | None = None,
96
+ extra_query: Query | None = None,
97
+ extra_body: Body | None = None,
98
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
99
+ ) -> KeyRetrieveResponse:
100
+ """
101
+ To retrieve details of an Anthropic API key, send a GET request to
102
+ `/v2/gen-ai/anthropic/keys/{api_key_uuid}`.
103
+
104
+ Args:
105
+ extra_headers: Send extra headers
106
+
107
+ extra_query: Add additional query parameters to the request
108
+
109
+ extra_body: Add additional JSON properties to the request
110
+
111
+ timeout: Override the client-level default timeout for this request, in seconds
112
+ """
113
+ if not api_key_uuid:
114
+ raise ValueError(f"Expected a non-empty value for `api_key_uuid` but received {api_key_uuid!r}")
115
+ return self._get(
116
+ f"/v2/genai/anthropic/keys/{api_key_uuid}",
117
+ options=make_request_options(
118
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
119
+ ),
120
+ cast_to=KeyRetrieveResponse,
121
+ )
122
+
123
+ def update(
124
+ self,
125
+ path_api_key_uuid: str,
126
+ *,
127
+ api_key: str | NotGiven = NOT_GIVEN,
128
+ body_api_key_uuid: str | NotGiven = NOT_GIVEN,
129
+ name: str | NotGiven = NOT_GIVEN,
130
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
131
+ # The extra values given here take precedence over values defined on the client or passed to this method.
132
+ extra_headers: Headers | None = None,
133
+ extra_query: Query | None = None,
134
+ extra_body: Body | None = None,
135
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
136
+ ) -> KeyUpdateResponse:
137
+ """
138
+ To update an Anthropic API key, send a PUT request to
139
+ `/v2/gen-ai/anthropic/keys/{api_key_uuid}`.
140
+
141
+ Args:
142
+ extra_headers: Send extra headers
143
+
144
+ extra_query: Add additional query parameters to the request
145
+
146
+ extra_body: Add additional JSON properties to the request
147
+
148
+ timeout: Override the client-level default timeout for this request, in seconds
149
+ """
150
+ if not path_api_key_uuid:
151
+ raise ValueError(f"Expected a non-empty value for `path_api_key_uuid` but received {path_api_key_uuid!r}")
152
+ return self._put(
153
+ f"/v2/genai/anthropic/keys/{path_api_key_uuid}",
154
+ body=maybe_transform(
155
+ {
156
+ "api_key": api_key,
157
+ "body_api_key_uuid": body_api_key_uuid,
158
+ "name": name,
159
+ },
160
+ key_update_params.KeyUpdateParams,
161
+ ),
162
+ options=make_request_options(
163
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
164
+ ),
165
+ cast_to=KeyUpdateResponse,
166
+ )
167
+
168
+ def list(
169
+ self,
170
+ *,
171
+ page: int | NotGiven = NOT_GIVEN,
172
+ per_page: int | NotGiven = NOT_GIVEN,
173
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
174
+ # The extra values given here take precedence over values defined on the client or passed to this method.
175
+ extra_headers: Headers | None = None,
176
+ extra_query: Query | None = None,
177
+ extra_body: Body | None = None,
178
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
179
+ ) -> KeyListResponse:
180
+ """
181
+ To list all Anthropic API keys, send a GET request to
182
+ `/v2/gen-ai/anthropic/keys`.
183
+
184
+ Args:
185
+ page: page number.
186
+
187
+ per_page: items per page.
188
+
189
+ extra_headers: Send extra headers
190
+
191
+ extra_query: Add additional query parameters to the request
192
+
193
+ extra_body: Add additional JSON properties to the request
194
+
195
+ timeout: Override the client-level default timeout for this request, in seconds
196
+ """
197
+ return self._get(
198
+ "/v2/genai/anthropic/keys",
199
+ options=make_request_options(
200
+ extra_headers=extra_headers,
201
+ extra_query=extra_query,
202
+ extra_body=extra_body,
203
+ timeout=timeout,
204
+ query=maybe_transform(
205
+ {
206
+ "page": page,
207
+ "per_page": per_page,
208
+ },
209
+ key_list_params.KeyListParams,
210
+ ),
211
+ ),
212
+ cast_to=KeyListResponse,
213
+ )
214
+
215
+ def delete(
216
+ self,
217
+ api_key_uuid: str,
218
+ *,
219
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
220
+ # The extra values given here take precedence over values defined on the client or passed to this method.
221
+ extra_headers: Headers | None = None,
222
+ extra_query: Query | None = None,
223
+ extra_body: Body | None = None,
224
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
225
+ ) -> KeyDeleteResponse:
226
+ """
227
+ To delete an Anthropic API key, send a DELETE request to
228
+ `/v2/gen-ai/anthropic/keys/{api_key_uuid}`.
229
+
230
+ Args:
231
+ extra_headers: Send extra headers
232
+
233
+ extra_query: Add additional query parameters to the request
234
+
235
+ extra_body: Add additional JSON properties to the request
236
+
237
+ timeout: Override the client-level default timeout for this request, in seconds
238
+ """
239
+ if not api_key_uuid:
240
+ raise ValueError(f"Expected a non-empty value for `api_key_uuid` but received {api_key_uuid!r}")
241
+ return self._delete(
242
+ f"/v2/genai/anthropic/keys/{api_key_uuid}",
243
+ options=make_request_options(
244
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
245
+ ),
246
+ cast_to=KeyDeleteResponse,
247
+ )
248
+
249
+ def list_agents(
250
+ self,
251
+ uuid: str,
252
+ *,
253
+ page: int | NotGiven = NOT_GIVEN,
254
+ per_page: int | NotGiven = NOT_GIVEN,
255
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
256
+ # The extra values given here take precedence over values defined on the client or passed to this method.
257
+ extra_headers: Headers | None = None,
258
+ extra_query: Query | None = None,
259
+ extra_body: Body | None = None,
260
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
261
+ ) -> KeyListAgentsResponse:
262
+ """
263
+ List Agents by Anthropic Key.
264
+
265
+ Args:
266
+ page: page number.
267
+
268
+ per_page: items per page.
269
+
270
+ extra_headers: Send extra headers
271
+
272
+ extra_query: Add additional query parameters to the request
273
+
274
+ extra_body: Add additional JSON properties to the request
275
+
276
+ timeout: Override the client-level default timeout for this request, in seconds
277
+ """
278
+ if not uuid:
279
+ raise ValueError(f"Expected a non-empty value for `uuid` but received {uuid!r}")
280
+ return self._get(
281
+ f"/v2/genai/anthropic/keys/{uuid}/agents",
282
+ options=make_request_options(
283
+ extra_headers=extra_headers,
284
+ extra_query=extra_query,
285
+ extra_body=extra_body,
286
+ timeout=timeout,
287
+ query=maybe_transform(
288
+ {
289
+ "page": page,
290
+ "per_page": per_page,
291
+ },
292
+ key_list_agents_params.KeyListAgentsParams,
293
+ ),
294
+ ),
295
+ cast_to=KeyListAgentsResponse,
296
+ )
297
+
298
+
299
+ class AsyncKeysResource(AsyncAPIResource):
300
+ @cached_property
301
+ def with_raw_response(self) -> AsyncKeysResourceWithRawResponse:
302
+ """
303
+ This property can be used as a prefix for any HTTP method call to return
304
+ the raw response object instead of the parsed content.
305
+
306
+ For more information, see https://www.github.com/digitalocean/genai-python#accessing-raw-response-data-eg-headers
307
+ """
308
+ return AsyncKeysResourceWithRawResponse(self)
309
+
310
+ @cached_property
311
+ def with_streaming_response(self) -> AsyncKeysResourceWithStreamingResponse:
312
+ """
313
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
314
+
315
+ For more information, see https://www.github.com/digitalocean/genai-python#with_streaming_response
316
+ """
317
+ return AsyncKeysResourceWithStreamingResponse(self)
318
+
319
+ async def create(
320
+ self,
321
+ *,
322
+ api_key: str | NotGiven = NOT_GIVEN,
323
+ name: str | NotGiven = NOT_GIVEN,
324
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
325
+ # The extra values given here take precedence over values defined on the client or passed to this method.
326
+ extra_headers: Headers | None = None,
327
+ extra_query: Query | None = None,
328
+ extra_body: Body | None = None,
329
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
330
+ ) -> KeyCreateResponse:
331
+ """
332
+ To create an Anthropic API key, send a POST request to
333
+ `/v2/gen-ai/anthropic/keys`.
334
+
335
+ Args:
336
+ extra_headers: Send extra headers
337
+
338
+ extra_query: Add additional query parameters to the request
339
+
340
+ extra_body: Add additional JSON properties to the request
341
+
342
+ timeout: Override the client-level default timeout for this request, in seconds
343
+ """
344
+ return await self._post(
345
+ "/v2/genai/anthropic/keys",
346
+ body=await async_maybe_transform(
347
+ {
348
+ "api_key": api_key,
349
+ "name": name,
350
+ },
351
+ key_create_params.KeyCreateParams,
352
+ ),
353
+ options=make_request_options(
354
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
355
+ ),
356
+ cast_to=KeyCreateResponse,
357
+ )
358
+
359
+ async def retrieve(
360
+ self,
361
+ api_key_uuid: str,
362
+ *,
363
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
364
+ # The extra values given here take precedence over values defined on the client or passed to this method.
365
+ extra_headers: Headers | None = None,
366
+ extra_query: Query | None = None,
367
+ extra_body: Body | None = None,
368
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
369
+ ) -> KeyRetrieveResponse:
370
+ """
371
+ To retrieve details of an Anthropic API key, send a GET request to
372
+ `/v2/gen-ai/anthropic/keys/{api_key_uuid}`.
373
+
374
+ Args:
375
+ extra_headers: Send extra headers
376
+
377
+ extra_query: Add additional query parameters to the request
378
+
379
+ extra_body: Add additional JSON properties to the request
380
+
381
+ timeout: Override the client-level default timeout for this request, in seconds
382
+ """
383
+ if not api_key_uuid:
384
+ raise ValueError(f"Expected a non-empty value for `api_key_uuid` but received {api_key_uuid!r}")
385
+ return await self._get(
386
+ f"/v2/genai/anthropic/keys/{api_key_uuid}",
387
+ options=make_request_options(
388
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
389
+ ),
390
+ cast_to=KeyRetrieveResponse,
391
+ )
392
+
393
+ async def update(
394
+ self,
395
+ path_api_key_uuid: str,
396
+ *,
397
+ api_key: str | NotGiven = NOT_GIVEN,
398
+ body_api_key_uuid: str | NotGiven = NOT_GIVEN,
399
+ name: str | NotGiven = NOT_GIVEN,
400
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
401
+ # The extra values given here take precedence over values defined on the client or passed to this method.
402
+ extra_headers: Headers | None = None,
403
+ extra_query: Query | None = None,
404
+ extra_body: Body | None = None,
405
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
406
+ ) -> KeyUpdateResponse:
407
+ """
408
+ To update an Anthropic API key, send a PUT request to
409
+ `/v2/gen-ai/anthropic/keys/{api_key_uuid}`.
410
+
411
+ Args:
412
+ extra_headers: Send extra headers
413
+
414
+ extra_query: Add additional query parameters to the request
415
+
416
+ extra_body: Add additional JSON properties to the request
417
+
418
+ timeout: Override the client-level default timeout for this request, in seconds
419
+ """
420
+ if not path_api_key_uuid:
421
+ raise ValueError(f"Expected a non-empty value for `path_api_key_uuid` but received {path_api_key_uuid!r}")
422
+ return await self._put(
423
+ f"/v2/genai/anthropic/keys/{path_api_key_uuid}",
424
+ body=await async_maybe_transform(
425
+ {
426
+ "api_key": api_key,
427
+ "body_api_key_uuid": body_api_key_uuid,
428
+ "name": name,
429
+ },
430
+ key_update_params.KeyUpdateParams,
431
+ ),
432
+ options=make_request_options(
433
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
434
+ ),
435
+ cast_to=KeyUpdateResponse,
436
+ )
437
+
438
+ async def list(
439
+ self,
440
+ *,
441
+ page: int | NotGiven = NOT_GIVEN,
442
+ per_page: int | NotGiven = NOT_GIVEN,
443
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
444
+ # The extra values given here take precedence over values defined on the client or passed to this method.
445
+ extra_headers: Headers | None = None,
446
+ extra_query: Query | None = None,
447
+ extra_body: Body | None = None,
448
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
449
+ ) -> KeyListResponse:
450
+ """
451
+ To list all Anthropic API keys, send a GET request to
452
+ `/v2/gen-ai/anthropic/keys`.
453
+
454
+ Args:
455
+ page: page number.
456
+
457
+ per_page: items per page.
458
+
459
+ extra_headers: Send extra headers
460
+
461
+ extra_query: Add additional query parameters to the request
462
+
463
+ extra_body: Add additional JSON properties to the request
464
+
465
+ timeout: Override the client-level default timeout for this request, in seconds
466
+ """
467
+ return await self._get(
468
+ "/v2/genai/anthropic/keys",
469
+ options=make_request_options(
470
+ extra_headers=extra_headers,
471
+ extra_query=extra_query,
472
+ extra_body=extra_body,
473
+ timeout=timeout,
474
+ query=await async_maybe_transform(
475
+ {
476
+ "page": page,
477
+ "per_page": per_page,
478
+ },
479
+ key_list_params.KeyListParams,
480
+ ),
481
+ ),
482
+ cast_to=KeyListResponse,
483
+ )
484
+
485
+ async def delete(
486
+ self,
487
+ api_key_uuid: str,
488
+ *,
489
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
490
+ # The extra values given here take precedence over values defined on the client or passed to this method.
491
+ extra_headers: Headers | None = None,
492
+ extra_query: Query | None = None,
493
+ extra_body: Body | None = None,
494
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
495
+ ) -> KeyDeleteResponse:
496
+ """
497
+ To delete an Anthropic API key, send a DELETE request to
498
+ `/v2/gen-ai/anthropic/keys/{api_key_uuid}`.
499
+
500
+ Args:
501
+ extra_headers: Send extra headers
502
+
503
+ extra_query: Add additional query parameters to the request
504
+
505
+ extra_body: Add additional JSON properties to the request
506
+
507
+ timeout: Override the client-level default timeout for this request, in seconds
508
+ """
509
+ if not api_key_uuid:
510
+ raise ValueError(f"Expected a non-empty value for `api_key_uuid` but received {api_key_uuid!r}")
511
+ return await self._delete(
512
+ f"/v2/genai/anthropic/keys/{api_key_uuid}",
513
+ options=make_request_options(
514
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
515
+ ),
516
+ cast_to=KeyDeleteResponse,
517
+ )
518
+
519
+ async def list_agents(
520
+ self,
521
+ uuid: str,
522
+ *,
523
+ page: int | NotGiven = NOT_GIVEN,
524
+ per_page: int | NotGiven = NOT_GIVEN,
525
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
526
+ # The extra values given here take precedence over values defined on the client or passed to this method.
527
+ extra_headers: Headers | None = None,
528
+ extra_query: Query | None = None,
529
+ extra_body: Body | None = None,
530
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
531
+ ) -> KeyListAgentsResponse:
532
+ """
533
+ List Agents by Anthropic Key.
534
+
535
+ Args:
536
+ page: page number.
537
+
538
+ per_page: items per page.
539
+
540
+ extra_headers: Send extra headers
541
+
542
+ extra_query: Add additional query parameters to the request
543
+
544
+ extra_body: Add additional JSON properties to the request
545
+
546
+ timeout: Override the client-level default timeout for this request, in seconds
547
+ """
548
+ if not uuid:
549
+ raise ValueError(f"Expected a non-empty value for `uuid` but received {uuid!r}")
550
+ return await self._get(
551
+ f"/v2/genai/anthropic/keys/{uuid}/agents",
552
+ options=make_request_options(
553
+ extra_headers=extra_headers,
554
+ extra_query=extra_query,
555
+ extra_body=extra_body,
556
+ timeout=timeout,
557
+ query=await async_maybe_transform(
558
+ {
559
+ "page": page,
560
+ "per_page": per_page,
561
+ },
562
+ key_list_agents_params.KeyListAgentsParams,
563
+ ),
564
+ ),
565
+ cast_to=KeyListAgentsResponse,
566
+ )
567
+
568
+
569
+ class KeysResourceWithRawResponse:
570
+ def __init__(self, keys: KeysResource) -> None:
571
+ self._keys = keys
572
+
573
+ self.create = to_raw_response_wrapper(
574
+ keys.create,
575
+ )
576
+ self.retrieve = to_raw_response_wrapper(
577
+ keys.retrieve,
578
+ )
579
+ self.update = to_raw_response_wrapper(
580
+ keys.update,
581
+ )
582
+ self.list = to_raw_response_wrapper(
583
+ keys.list,
584
+ )
585
+ self.delete = to_raw_response_wrapper(
586
+ keys.delete,
587
+ )
588
+ self.list_agents = to_raw_response_wrapper(
589
+ keys.list_agents,
590
+ )
591
+
592
+
593
+ class AsyncKeysResourceWithRawResponse:
594
+ def __init__(self, keys: AsyncKeysResource) -> None:
595
+ self._keys = keys
596
+
597
+ self.create = async_to_raw_response_wrapper(
598
+ keys.create,
599
+ )
600
+ self.retrieve = async_to_raw_response_wrapper(
601
+ keys.retrieve,
602
+ )
603
+ self.update = async_to_raw_response_wrapper(
604
+ keys.update,
605
+ )
606
+ self.list = async_to_raw_response_wrapper(
607
+ keys.list,
608
+ )
609
+ self.delete = async_to_raw_response_wrapper(
610
+ keys.delete,
611
+ )
612
+ self.list_agents = async_to_raw_response_wrapper(
613
+ keys.list_agents,
614
+ )
615
+
616
+
617
+ class KeysResourceWithStreamingResponse:
618
+ def __init__(self, keys: KeysResource) -> None:
619
+ self._keys = keys
620
+
621
+ self.create = to_streamed_response_wrapper(
622
+ keys.create,
623
+ )
624
+ self.retrieve = to_streamed_response_wrapper(
625
+ keys.retrieve,
626
+ )
627
+ self.update = to_streamed_response_wrapper(
628
+ keys.update,
629
+ )
630
+ self.list = to_streamed_response_wrapper(
631
+ keys.list,
632
+ )
633
+ self.delete = to_streamed_response_wrapper(
634
+ keys.delete,
635
+ )
636
+ self.list_agents = to_streamed_response_wrapper(
637
+ keys.list_agents,
638
+ )
639
+
640
+
641
+ class AsyncKeysResourceWithStreamingResponse:
642
+ def __init__(self, keys: AsyncKeysResource) -> None:
643
+ self._keys = keys
644
+
645
+ self.create = async_to_streamed_response_wrapper(
646
+ keys.create,
647
+ )
648
+ self.retrieve = async_to_streamed_response_wrapper(
649
+ keys.retrieve,
650
+ )
651
+ self.update = async_to_streamed_response_wrapper(
652
+ keys.update,
653
+ )
654
+ self.list = async_to_streamed_response_wrapper(
655
+ keys.list,
656
+ )
657
+ self.delete = async_to_streamed_response_wrapper(
658
+ keys.delete,
659
+ )
660
+ self.list_agents = async_to_streamed_response_wrapper(
661
+ keys.list_agents,
662
+ )
@@ -0,0 +1,33 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from .keys import (
4
+ KeysResource,
5
+ AsyncKeysResource,
6
+ KeysResourceWithRawResponse,
7
+ AsyncKeysResourceWithRawResponse,
8
+ KeysResourceWithStreamingResponse,
9
+ AsyncKeysResourceWithStreamingResponse,
10
+ )
11
+ from .openai import (
12
+ OpenAIResource,
13
+ AsyncOpenAIResource,
14
+ OpenAIResourceWithRawResponse,
15
+ AsyncOpenAIResourceWithRawResponse,
16
+ OpenAIResourceWithStreamingResponse,
17
+ AsyncOpenAIResourceWithStreamingResponse,
18
+ )
19
+
20
+ __all__ = [
21
+ "KeysResource",
22
+ "AsyncKeysResource",
23
+ "KeysResourceWithRawResponse",
24
+ "AsyncKeysResourceWithRawResponse",
25
+ "KeysResourceWithStreamingResponse",
26
+ "AsyncKeysResourceWithStreamingResponse",
27
+ "OpenAIResource",
28
+ "AsyncOpenAIResource",
29
+ "OpenAIResourceWithRawResponse",
30
+ "AsyncOpenAIResourceWithRawResponse",
31
+ "OpenAIResourceWithStreamingResponse",
32
+ "AsyncOpenAIResourceWithStreamingResponse",
33
+ ]