robosystems-client 0.1.12__py3-none-any.whl → 0.1.14__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 (61) hide show
  1. robosystems_client/api/backup/create_backup.py +1 -1
  2. robosystems_client/api/backup/export_backup.py +14 -19
  3. robosystems_client/api/backup/get_backup_download_url.py +1 -1
  4. robosystems_client/api/backup/get_backup_stats.py +19 -1
  5. robosystems_client/api/backup/list_backups.py +19 -1
  6. robosystems_client/api/backup/restore_backup.py +1 -1
  7. robosystems_client/api/copy/copy_data_to_graph.py +479 -0
  8. robosystems_client/api/{credits_ → graph_credits}/check_credit_balance.py +42 -20
  9. robosystems_client/api/graph_health/__init__.py +1 -0
  10. robosystems_client/api/{graph_status → graph_health}/get_database_health.py +1 -1
  11. robosystems_client/api/graph_info/__init__.py +1 -0
  12. robosystems_client/api/{graph_status → graph_info}/get_database_info.py +1 -1
  13. robosystems_client/api/graph_limits/__init__.py +1 -0
  14. robosystems_client/api/graph_limits/get_graph_limits.py +259 -0
  15. robosystems_client/api/subgraphs/create_subgraph.py +63 -173
  16. robosystems_client/api/subgraphs/delete_subgraph.py +14 -14
  17. robosystems_client/api/subgraphs/get_subgraph_info.py +14 -14
  18. robosystems_client/api/subgraphs/get_subgraph_quota.py +8 -4
  19. robosystems_client/api/subgraphs/list_subgraphs.py +39 -75
  20. robosystems_client/api/user/get_all_credit_summaries.py +1 -1
  21. robosystems_client/extensions/README.md +211 -0
  22. robosystems_client/extensions/__init__.py +29 -0
  23. robosystems_client/extensions/copy_client.py +469 -0
  24. robosystems_client/extensions/extensions.py +17 -0
  25. robosystems_client/models/__init__.py +26 -10
  26. robosystems_client/models/copy_response.py +275 -0
  27. robosystems_client/models/{kuzu_backup_health_response_kuzubackuphealth.py → copy_response_error_details_type_0.py} +5 -5
  28. robosystems_client/models/copy_response_status.py +11 -0
  29. robosystems_client/models/custom_schema_definition.py +2 -2
  30. robosystems_client/models/data_frame_copy_request.py +125 -0
  31. robosystems_client/models/data_frame_copy_request_format.py +10 -0
  32. robosystems_client/models/get_graph_limits_response_getgraphlimits.py +44 -0
  33. robosystems_client/models/s3_copy_request.py +378 -0
  34. robosystems_client/models/s3_copy_request_file_format.py +12 -0
  35. robosystems_client/models/s3_copy_request_s3_url_style_type_0.py +9 -0
  36. robosystems_client/models/url_copy_request.py +157 -0
  37. robosystems_client/models/url_copy_request_file_format.py +10 -0
  38. robosystems_client/models/url_copy_request_headers_type_0.py +44 -0
  39. {robosystems_client-0.1.12.dist-info → robosystems_client-0.1.14.dist-info}/METADATA +1 -1
  40. {robosystems_client-0.1.12.dist-info → robosystems_client-0.1.14.dist-info}/RECORD +52 -44
  41. robosystems_client/api/backup/kuzu_backup_health.py +0 -202
  42. robosystems_client/api/billing/get_available_subscription_plans_v1_graph_id_billing_available_plans_get.py +0 -198
  43. robosystems_client/api/billing/get_credit_billing_info_v1_graph_id_billing_credits_get.py +0 -210
  44. robosystems_client/api/billing/get_graph_pricing_info_v1_graph_id_billing_pricing_get.py +0 -198
  45. robosystems_client/api/billing/get_graph_subscription_v1_graph_id_billing_subscription_get.py +0 -198
  46. robosystems_client/api/billing/upgrade_graph_subscription_v1_graph_id_billing_subscription_upgrade_post.py +0 -216
  47. robosystems_client/models/backup_export_request.py +0 -72
  48. robosystems_client/models/credit_check_request.py +0 -82
  49. robosystems_client/models/upgrade_subscription_request.py +0 -82
  50. /robosystems_client/api/{billing → copy}/__init__.py +0 -0
  51. /robosystems_client/api/{credits_ → graph_billing}/__init__.py +0 -0
  52. /robosystems_client/api/{billing → graph_billing}/get_current_graph_bill.py +0 -0
  53. /robosystems_client/api/{billing → graph_billing}/get_graph_billing_history.py +0 -0
  54. /robosystems_client/api/{billing → graph_billing}/get_graph_monthly_bill.py +0 -0
  55. /robosystems_client/api/{billing → graph_billing}/get_graph_usage_details.py +0 -0
  56. /robosystems_client/api/{graph_status → graph_credits}/__init__.py +0 -0
  57. /robosystems_client/api/{credits_ → graph_credits}/check_storage_limits.py +0 -0
  58. /robosystems_client/api/{credits_ → graph_credits}/get_credit_summary.py +0 -0
  59. /robosystems_client/api/{credits_ → graph_credits}/get_storage_usage.py +0 -0
  60. /robosystems_client/api/{credits_ → graph_credits}/list_credit_transactions.py +0 -0
  61. {robosystems_client-0.1.12.dist-info → robosystems_client-0.1.14.dist-info}/WHEEL +0 -0
@@ -0,0 +1,259 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Optional, Union, cast
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.get_graph_limits_response_getgraphlimits import (
9
+ GetGraphLimitsResponseGetgraphlimits,
10
+ )
11
+ from ...models.http_validation_error import HTTPValidationError
12
+ from ...types import UNSET, Response, Unset
13
+
14
+
15
+ def _get_kwargs(
16
+ graph_id: str,
17
+ *,
18
+ authorization: Union[None, Unset, str] = UNSET,
19
+ auth_token: Union[None, Unset, str] = UNSET,
20
+ ) -> dict[str, Any]:
21
+ headers: dict[str, Any] = {}
22
+ if not isinstance(authorization, Unset):
23
+ headers["authorization"] = authorization
24
+
25
+ cookies = {}
26
+ if auth_token is not UNSET:
27
+ cookies["auth-token"] = auth_token
28
+
29
+ _kwargs: dict[str, Any] = {
30
+ "method": "get",
31
+ "url": f"/v1/{graph_id}/limits",
32
+ "cookies": cookies,
33
+ }
34
+
35
+ _kwargs["headers"] = headers
36
+ return _kwargs
37
+
38
+
39
+ def _parse_response(
40
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
41
+ ) -> Optional[Union[Any, GetGraphLimitsResponseGetgraphlimits, HTTPValidationError]]:
42
+ if response.status_code == 200:
43
+ response_200 = GetGraphLimitsResponseGetgraphlimits.from_dict(response.json())
44
+
45
+ return response_200
46
+ if response.status_code == 403:
47
+ response_403 = cast(Any, None)
48
+ return response_403
49
+ if response.status_code == 404:
50
+ response_404 = cast(Any, None)
51
+ return response_404
52
+ if response.status_code == 500:
53
+ response_500 = cast(Any, None)
54
+ return response_500
55
+ if response.status_code == 422:
56
+ response_422 = HTTPValidationError.from_dict(response.json())
57
+
58
+ return response_422
59
+ if client.raise_on_unexpected_status:
60
+ raise errors.UnexpectedStatus(response.status_code, response.content)
61
+ else:
62
+ return None
63
+
64
+
65
+ def _build_response(
66
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
67
+ ) -> Response[Union[Any, GetGraphLimitsResponseGetgraphlimits, HTTPValidationError]]:
68
+ return Response(
69
+ status_code=HTTPStatus(response.status_code),
70
+ content=response.content,
71
+ headers=response.headers,
72
+ parsed=_parse_response(client=client, response=response),
73
+ )
74
+
75
+
76
+ def sync_detailed(
77
+ graph_id: str,
78
+ *,
79
+ client: AuthenticatedClient,
80
+ authorization: Union[None, Unset, str] = UNSET,
81
+ auth_token: Union[None, Unset, str] = UNSET,
82
+ ) -> Response[Union[Any, GetGraphLimitsResponseGetgraphlimits, HTTPValidationError]]:
83
+ """Get Graph Operational Limits
84
+
85
+ Get comprehensive operational limits for the graph database.
86
+
87
+ Returns all operational limits that apply to this graph including:
88
+ - **Storage Limits**: Maximum storage size and current usage
89
+ - **Query Limits**: Timeouts, complexity, row limits
90
+ - **Copy/Ingestion Limits**: File sizes, timeouts, concurrent operations
91
+ - **Backup Limits**: Frequency, retention, size limits
92
+ - **Rate Limits**: Requests per minute/hour based on tier
93
+ - **Credit Limits**: AI operation credits (if applicable)
94
+
95
+ This unified endpoint provides all limits in one place for easier client integration.
96
+
97
+ **Note**: Limits vary based on subscription tier (Standard, Enterprise, Premium).
98
+
99
+ Args:
100
+ graph_id (str): Graph database identifier (user graph or shared repository)
101
+ authorization (Union[None, Unset, str]):
102
+ auth_token (Union[None, Unset, str]):
103
+
104
+ Raises:
105
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
106
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
107
+
108
+ Returns:
109
+ Response[Union[Any, GetGraphLimitsResponseGetgraphlimits, HTTPValidationError]]
110
+ """
111
+
112
+ kwargs = _get_kwargs(
113
+ graph_id=graph_id,
114
+ authorization=authorization,
115
+ auth_token=auth_token,
116
+ )
117
+
118
+ response = client.get_httpx_client().request(
119
+ **kwargs,
120
+ )
121
+
122
+ return _build_response(client=client, response=response)
123
+
124
+
125
+ def sync(
126
+ graph_id: str,
127
+ *,
128
+ client: AuthenticatedClient,
129
+ authorization: Union[None, Unset, str] = UNSET,
130
+ auth_token: Union[None, Unset, str] = UNSET,
131
+ ) -> Optional[Union[Any, GetGraphLimitsResponseGetgraphlimits, HTTPValidationError]]:
132
+ """Get Graph Operational Limits
133
+
134
+ Get comprehensive operational limits for the graph database.
135
+
136
+ Returns all operational limits that apply to this graph including:
137
+ - **Storage Limits**: Maximum storage size and current usage
138
+ - **Query Limits**: Timeouts, complexity, row limits
139
+ - **Copy/Ingestion Limits**: File sizes, timeouts, concurrent operations
140
+ - **Backup Limits**: Frequency, retention, size limits
141
+ - **Rate Limits**: Requests per minute/hour based on tier
142
+ - **Credit Limits**: AI operation credits (if applicable)
143
+
144
+ This unified endpoint provides all limits in one place for easier client integration.
145
+
146
+ **Note**: Limits vary based on subscription tier (Standard, Enterprise, Premium).
147
+
148
+ Args:
149
+ graph_id (str): Graph database identifier (user graph or shared repository)
150
+ authorization (Union[None, Unset, str]):
151
+ auth_token (Union[None, Unset, str]):
152
+
153
+ Raises:
154
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
155
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
156
+
157
+ Returns:
158
+ Union[Any, GetGraphLimitsResponseGetgraphlimits, HTTPValidationError]
159
+ """
160
+
161
+ return sync_detailed(
162
+ graph_id=graph_id,
163
+ client=client,
164
+ authorization=authorization,
165
+ auth_token=auth_token,
166
+ ).parsed
167
+
168
+
169
+ async def asyncio_detailed(
170
+ graph_id: str,
171
+ *,
172
+ client: AuthenticatedClient,
173
+ authorization: Union[None, Unset, str] = UNSET,
174
+ auth_token: Union[None, Unset, str] = UNSET,
175
+ ) -> Response[Union[Any, GetGraphLimitsResponseGetgraphlimits, HTTPValidationError]]:
176
+ """Get Graph Operational Limits
177
+
178
+ Get comprehensive operational limits for the graph database.
179
+
180
+ Returns all operational limits that apply to this graph including:
181
+ - **Storage Limits**: Maximum storage size and current usage
182
+ - **Query Limits**: Timeouts, complexity, row limits
183
+ - **Copy/Ingestion Limits**: File sizes, timeouts, concurrent operations
184
+ - **Backup Limits**: Frequency, retention, size limits
185
+ - **Rate Limits**: Requests per minute/hour based on tier
186
+ - **Credit Limits**: AI operation credits (if applicable)
187
+
188
+ This unified endpoint provides all limits in one place for easier client integration.
189
+
190
+ **Note**: Limits vary based on subscription tier (Standard, Enterprise, Premium).
191
+
192
+ Args:
193
+ graph_id (str): Graph database identifier (user graph or shared repository)
194
+ authorization (Union[None, Unset, str]):
195
+ auth_token (Union[None, Unset, str]):
196
+
197
+ Raises:
198
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
199
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
200
+
201
+ Returns:
202
+ Response[Union[Any, GetGraphLimitsResponseGetgraphlimits, HTTPValidationError]]
203
+ """
204
+
205
+ kwargs = _get_kwargs(
206
+ graph_id=graph_id,
207
+ authorization=authorization,
208
+ auth_token=auth_token,
209
+ )
210
+
211
+ response = await client.get_async_httpx_client().request(**kwargs)
212
+
213
+ return _build_response(client=client, response=response)
214
+
215
+
216
+ async def asyncio(
217
+ graph_id: str,
218
+ *,
219
+ client: AuthenticatedClient,
220
+ authorization: Union[None, Unset, str] = UNSET,
221
+ auth_token: Union[None, Unset, str] = UNSET,
222
+ ) -> Optional[Union[Any, GetGraphLimitsResponseGetgraphlimits, HTTPValidationError]]:
223
+ """Get Graph Operational Limits
224
+
225
+ Get comprehensive operational limits for the graph database.
226
+
227
+ Returns all operational limits that apply to this graph including:
228
+ - **Storage Limits**: Maximum storage size and current usage
229
+ - **Query Limits**: Timeouts, complexity, row limits
230
+ - **Copy/Ingestion Limits**: File sizes, timeouts, concurrent operations
231
+ - **Backup Limits**: Frequency, retention, size limits
232
+ - **Rate Limits**: Requests per minute/hour based on tier
233
+ - **Credit Limits**: AI operation credits (if applicable)
234
+
235
+ This unified endpoint provides all limits in one place for easier client integration.
236
+
237
+ **Note**: Limits vary based on subscription tier (Standard, Enterprise, Premium).
238
+
239
+ Args:
240
+ graph_id (str): Graph database identifier (user graph or shared repository)
241
+ authorization (Union[None, Unset, str]):
242
+ auth_token (Union[None, Unset, str]):
243
+
244
+ Raises:
245
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
246
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
247
+
248
+ Returns:
249
+ Union[Any, GetGraphLimitsResponseGetgraphlimits, HTTPValidationError]
250
+ """
251
+
252
+ return (
253
+ await asyncio_detailed(
254
+ graph_id=graph_id,
255
+ client=client,
256
+ authorization=authorization,
257
+ auth_token=auth_token,
258
+ )
259
+ ).parsed
@@ -1,5 +1,5 @@
1
1
  from http import HTTPStatus
2
- from typing import Any, Optional, Union, cast
2
+ from typing import Any, Optional, Union
3
3
 
4
4
  import httpx
5
5
 
@@ -42,29 +42,11 @@ def _get_kwargs(
42
42
 
43
43
  def _parse_response(
44
44
  *, client: Union[AuthenticatedClient, Client], response: httpx.Response
45
- ) -> Optional[Union[Any, HTTPValidationError, SubgraphResponse]]:
46
- if response.status_code == 200:
47
- response_200 = SubgraphResponse.from_dict(response.json())
48
-
49
- return response_200
50
- if response.status_code == 401:
51
- response_401 = cast(Any, None)
52
- return response_401
53
- if response.status_code == 403:
54
- response_403 = cast(Any, None)
55
- return response_403
56
- if response.status_code == 404:
57
- response_404 = cast(Any, None)
58
- return response_404
59
- if response.status_code == 400:
60
- response_400 = cast(Any, None)
61
- return response_400
62
- if response.status_code == 409:
63
- response_409 = cast(Any, None)
64
- return response_409
65
- if response.status_code == 500:
66
- response_500 = cast(Any, None)
67
- return response_500
45
+ ) -> Optional[Union[HTTPValidationError, SubgraphResponse]]:
46
+ if response.status_code == 201:
47
+ response_201 = SubgraphResponse.from_dict(response.json())
48
+
49
+ return response_201
68
50
  if response.status_code == 422:
69
51
  response_422 = HTTPValidationError.from_dict(response.json())
70
52
 
@@ -77,7 +59,7 @@ def _parse_response(
77
59
 
78
60
  def _build_response(
79
61
  *, client: Union[AuthenticatedClient, Client], response: httpx.Response
80
- ) -> Response[Union[Any, HTTPValidationError, SubgraphResponse]]:
62
+ ) -> Response[Union[HTTPValidationError, SubgraphResponse]]:
81
63
  return Response(
82
64
  status_code=HTTPStatus(response.status_code),
83
65
  content=response.content,
@@ -93,47 +75,24 @@ def sync_detailed(
93
75
  body: CreateSubgraphRequest,
94
76
  authorization: Union[None, Unset, str] = UNSET,
95
77
  auth_token: Union[None, Unset, str] = UNSET,
96
- ) -> Response[Union[Any, HTTPValidationError, SubgraphResponse]]:
97
- """Create New Subgraph
78
+ ) -> Response[Union[HTTPValidationError, SubgraphResponse]]:
79
+ """Create Subgraph
98
80
 
99
- Create a new subgraph database under an Enterprise or Premium parent graph.
81
+ Create a new subgraph within a parent graph.
100
82
 
101
83
  **Requirements:**
102
- - Parent graph must be Enterprise or Premium tier
103
- - User must have admin access to parent graph
104
- - Subgraph name must be unique within parent
105
- - Subgraph name must be alphanumeric (1-20 chars)
106
-
107
- **Subgraph Benefits:**
108
- - Shares parent's infrastructure (no additional cost)
109
- - Inherits parent's credit pool
110
- - Isolated database on same instance
111
- - Full Kuzu database capabilities
112
-
113
- **Use Cases:**
114
- - Separate environments (dev/staging/prod)
115
- - Department-specific data isolation
116
- - Multi-tenant applications
117
- - Testing and experimentation
118
-
119
- **Schema Inheritance:**
120
- - Subgraphs can use parent's schema or custom extensions
121
- - Extensions are additive only
122
- - Base schema always included
123
-
124
- **Limits:**
125
- - Enterprise: Maximum 10 subgraphs
126
- - Premium: Unlimited subgraphs
127
- - Standard: Not supported
128
-
129
- **Response includes:**
130
- - `graph_id`: Full subgraph identifier
131
- - `parent_graph_id`: Parent graph ID
132
- - `subgraph_name`: Short name within parent
133
- - `status`: Creation status
84
+ - Valid authentication
85
+ - Parent graph must exist and be accessible to the user
86
+ - User must have 'admin' permission on the parent graph
87
+ - Parent graph tier must support subgraphs (Enterprise or Premium only)
88
+ - Must be within subgraph quota limits
89
+ - Subgraph name must be unique within the parent graph
90
+
91
+ **Returns:**
92
+ - Created subgraph details including its unique ID
134
93
 
135
94
  Args:
136
- graph_id (str): Parent graph identifier
95
+ graph_id (str): Parent graph ID (e.g., 'kg1a2b3c4d5')
137
96
  authorization (Union[None, Unset, str]):
138
97
  auth_token (Union[None, Unset, str]):
139
98
  body (CreateSubgraphRequest): Request model for creating a subgraph.
@@ -143,7 +102,7 @@ def sync_detailed(
143
102
  httpx.TimeoutException: If the request takes longer than Client.timeout.
144
103
 
145
104
  Returns:
146
- Response[Union[Any, HTTPValidationError, SubgraphResponse]]
105
+ Response[Union[HTTPValidationError, SubgraphResponse]]
147
106
  """
148
107
 
149
108
  kwargs = _get_kwargs(
@@ -167,47 +126,24 @@ def sync(
167
126
  body: CreateSubgraphRequest,
168
127
  authorization: Union[None, Unset, str] = UNSET,
169
128
  auth_token: Union[None, Unset, str] = UNSET,
170
- ) -> Optional[Union[Any, HTTPValidationError, SubgraphResponse]]:
171
- """Create New Subgraph
129
+ ) -> Optional[Union[HTTPValidationError, SubgraphResponse]]:
130
+ """Create Subgraph
172
131
 
173
- Create a new subgraph database under an Enterprise or Premium parent graph.
132
+ Create a new subgraph within a parent graph.
174
133
 
175
134
  **Requirements:**
176
- - Parent graph must be Enterprise or Premium tier
177
- - User must have admin access to parent graph
178
- - Subgraph name must be unique within parent
179
- - Subgraph name must be alphanumeric (1-20 chars)
180
-
181
- **Subgraph Benefits:**
182
- - Shares parent's infrastructure (no additional cost)
183
- - Inherits parent's credit pool
184
- - Isolated database on same instance
185
- - Full Kuzu database capabilities
186
-
187
- **Use Cases:**
188
- - Separate environments (dev/staging/prod)
189
- - Department-specific data isolation
190
- - Multi-tenant applications
191
- - Testing and experimentation
192
-
193
- **Schema Inheritance:**
194
- - Subgraphs can use parent's schema or custom extensions
195
- - Extensions are additive only
196
- - Base schema always included
197
-
198
- **Limits:**
199
- - Enterprise: Maximum 10 subgraphs
200
- - Premium: Unlimited subgraphs
201
- - Standard: Not supported
202
-
203
- **Response includes:**
204
- - `graph_id`: Full subgraph identifier
205
- - `parent_graph_id`: Parent graph ID
206
- - `subgraph_name`: Short name within parent
207
- - `status`: Creation status
135
+ - Valid authentication
136
+ - Parent graph must exist and be accessible to the user
137
+ - User must have 'admin' permission on the parent graph
138
+ - Parent graph tier must support subgraphs (Enterprise or Premium only)
139
+ - Must be within subgraph quota limits
140
+ - Subgraph name must be unique within the parent graph
141
+
142
+ **Returns:**
143
+ - Created subgraph details including its unique ID
208
144
 
209
145
  Args:
210
- graph_id (str): Parent graph identifier
146
+ graph_id (str): Parent graph ID (e.g., 'kg1a2b3c4d5')
211
147
  authorization (Union[None, Unset, str]):
212
148
  auth_token (Union[None, Unset, str]):
213
149
  body (CreateSubgraphRequest): Request model for creating a subgraph.
@@ -217,7 +153,7 @@ def sync(
217
153
  httpx.TimeoutException: If the request takes longer than Client.timeout.
218
154
 
219
155
  Returns:
220
- Union[Any, HTTPValidationError, SubgraphResponse]
156
+ Union[HTTPValidationError, SubgraphResponse]
221
157
  """
222
158
 
223
159
  return sync_detailed(
@@ -236,47 +172,24 @@ async def asyncio_detailed(
236
172
  body: CreateSubgraphRequest,
237
173
  authorization: Union[None, Unset, str] = UNSET,
238
174
  auth_token: Union[None, Unset, str] = UNSET,
239
- ) -> Response[Union[Any, HTTPValidationError, SubgraphResponse]]:
240
- """Create New Subgraph
175
+ ) -> Response[Union[HTTPValidationError, SubgraphResponse]]:
176
+ """Create Subgraph
241
177
 
242
- Create a new subgraph database under an Enterprise or Premium parent graph.
178
+ Create a new subgraph within a parent graph.
243
179
 
244
180
  **Requirements:**
245
- - Parent graph must be Enterprise or Premium tier
246
- - User must have admin access to parent graph
247
- - Subgraph name must be unique within parent
248
- - Subgraph name must be alphanumeric (1-20 chars)
249
-
250
- **Subgraph Benefits:**
251
- - Shares parent's infrastructure (no additional cost)
252
- - Inherits parent's credit pool
253
- - Isolated database on same instance
254
- - Full Kuzu database capabilities
255
-
256
- **Use Cases:**
257
- - Separate environments (dev/staging/prod)
258
- - Department-specific data isolation
259
- - Multi-tenant applications
260
- - Testing and experimentation
261
-
262
- **Schema Inheritance:**
263
- - Subgraphs can use parent's schema or custom extensions
264
- - Extensions are additive only
265
- - Base schema always included
266
-
267
- **Limits:**
268
- - Enterprise: Maximum 10 subgraphs
269
- - Premium: Unlimited subgraphs
270
- - Standard: Not supported
271
-
272
- **Response includes:**
273
- - `graph_id`: Full subgraph identifier
274
- - `parent_graph_id`: Parent graph ID
275
- - `subgraph_name`: Short name within parent
276
- - `status`: Creation status
181
+ - Valid authentication
182
+ - Parent graph must exist and be accessible to the user
183
+ - User must have 'admin' permission on the parent graph
184
+ - Parent graph tier must support subgraphs (Enterprise or Premium only)
185
+ - Must be within subgraph quota limits
186
+ - Subgraph name must be unique within the parent graph
187
+
188
+ **Returns:**
189
+ - Created subgraph details including its unique ID
277
190
 
278
191
  Args:
279
- graph_id (str): Parent graph identifier
192
+ graph_id (str): Parent graph ID (e.g., 'kg1a2b3c4d5')
280
193
  authorization (Union[None, Unset, str]):
281
194
  auth_token (Union[None, Unset, str]):
282
195
  body (CreateSubgraphRequest): Request model for creating a subgraph.
@@ -286,7 +199,7 @@ async def asyncio_detailed(
286
199
  httpx.TimeoutException: If the request takes longer than Client.timeout.
287
200
 
288
201
  Returns:
289
- Response[Union[Any, HTTPValidationError, SubgraphResponse]]
202
+ Response[Union[HTTPValidationError, SubgraphResponse]]
290
203
  """
291
204
 
292
205
  kwargs = _get_kwargs(
@@ -308,47 +221,24 @@ async def asyncio(
308
221
  body: CreateSubgraphRequest,
309
222
  authorization: Union[None, Unset, str] = UNSET,
310
223
  auth_token: Union[None, Unset, str] = UNSET,
311
- ) -> Optional[Union[Any, HTTPValidationError, SubgraphResponse]]:
312
- """Create New Subgraph
224
+ ) -> Optional[Union[HTTPValidationError, SubgraphResponse]]:
225
+ """Create Subgraph
313
226
 
314
- Create a new subgraph database under an Enterprise or Premium parent graph.
227
+ Create a new subgraph within a parent graph.
315
228
 
316
229
  **Requirements:**
317
- - Parent graph must be Enterprise or Premium tier
318
- - User must have admin access to parent graph
319
- - Subgraph name must be unique within parent
320
- - Subgraph name must be alphanumeric (1-20 chars)
321
-
322
- **Subgraph Benefits:**
323
- - Shares parent's infrastructure (no additional cost)
324
- - Inherits parent's credit pool
325
- - Isolated database on same instance
326
- - Full Kuzu database capabilities
327
-
328
- **Use Cases:**
329
- - Separate environments (dev/staging/prod)
330
- - Department-specific data isolation
331
- - Multi-tenant applications
332
- - Testing and experimentation
333
-
334
- **Schema Inheritance:**
335
- - Subgraphs can use parent's schema or custom extensions
336
- - Extensions are additive only
337
- - Base schema always included
338
-
339
- **Limits:**
340
- - Enterprise: Maximum 10 subgraphs
341
- - Premium: Unlimited subgraphs
342
- - Standard: Not supported
343
-
344
- **Response includes:**
345
- - `graph_id`: Full subgraph identifier
346
- - `parent_graph_id`: Parent graph ID
347
- - `subgraph_name`: Short name within parent
348
- - `status`: Creation status
230
+ - Valid authentication
231
+ - Parent graph must exist and be accessible to the user
232
+ - User must have 'admin' permission on the parent graph
233
+ - Parent graph tier must support subgraphs (Enterprise or Premium only)
234
+ - Must be within subgraph quota limits
235
+ - Subgraph name must be unique within the parent graph
236
+
237
+ **Returns:**
238
+ - Created subgraph details including its unique ID
349
239
 
350
240
  Args:
351
- graph_id (str): Parent graph identifier
241
+ graph_id (str): Parent graph ID (e.g., 'kg1a2b3c4d5')
352
242
  authorization (Union[None, Unset, str]):
353
243
  auth_token (Union[None, Unset, str]):
354
244
  body (CreateSubgraphRequest): Request model for creating a subgraph.
@@ -358,7 +248,7 @@ async def asyncio(
358
248
  httpx.TimeoutException: If the request takes longer than Client.timeout.
359
249
 
360
250
  Returns:
361
- Union[Any, HTTPValidationError, SubgraphResponse]
251
+ Union[HTTPValidationError, SubgraphResponse]
362
252
  """
363
253
 
364
254
  return (