robosystems-client 0.1.17__py3-none-any.whl → 0.1.19__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.

Potentially problematic release.


This version of robosystems-client might be problematic. Click here for more details.

Files changed (99) hide show
  1. robosystems_client/__init__.py +15 -4
  2. robosystems_client/api/agent/auto_select_agent.py +26 -1
  3. robosystems_client/api/agent/batch_process_queries.py +26 -1
  4. robosystems_client/api/agent/execute_specific_agent.py +26 -1
  5. robosystems_client/api/agent/get_agent_metadata.py +26 -1
  6. robosystems_client/api/agent/list_agents.py +21 -1
  7. robosystems_client/api/agent/recommend_agent.py +26 -1
  8. robosystems_client/api/backup/create_backup.py +26 -1
  9. robosystems_client/api/backup/export_backup.py +26 -1
  10. robosystems_client/api/backup/get_backup_download_url.py +21 -1
  11. robosystems_client/api/backup/get_backup_stats.py +26 -1
  12. robosystems_client/api/backup/list_backups.py +21 -1
  13. robosystems_client/api/backup/restore_backup.py +26 -1
  14. robosystems_client/api/connections/create_connection.py +26 -1
  15. robosystems_client/api/connections/create_link_token.py +26 -1
  16. robosystems_client/api/connections/delete_connection.py +26 -1
  17. robosystems_client/api/connections/exchange_link_token.py +26 -1
  18. robosystems_client/api/connections/get_connection.py +26 -1
  19. robosystems_client/api/connections/get_connection_options.py +26 -1
  20. robosystems_client/api/connections/init_o_auth.py +26 -1
  21. robosystems_client/api/connections/list_connections.py +21 -1
  22. robosystems_client/api/connections/oauth_callback.py +26 -1
  23. robosystems_client/api/connections/sync_connection.py +26 -1
  24. robosystems_client/api/copy/copy_data_to_graph.py +26 -1
  25. robosystems_client/api/graph_analytics/get_graph_metrics.py +26 -1
  26. robosystems_client/api/graph_analytics/get_graph_usage_stats.py +21 -1
  27. robosystems_client/api/graph_billing/get_current_graph_bill.py +26 -1
  28. robosystems_client/api/graph_billing/get_graph_billing_history.py +21 -1
  29. robosystems_client/api/graph_billing/get_graph_monthly_bill.py +26 -1
  30. robosystems_client/api/graph_billing/get_graph_usage_details.py +21 -1
  31. robosystems_client/api/graph_credits/check_credit_balance.py +21 -1
  32. robosystems_client/api/graph_credits/check_storage_limits.py +26 -1
  33. robosystems_client/api/graph_credits/get_credit_summary.py +26 -1
  34. robosystems_client/api/graph_credits/get_storage_usage.py +21 -1
  35. robosystems_client/api/graph_credits/list_credit_transactions.py +21 -1
  36. robosystems_client/api/graph_health/get_database_health.py +26 -1
  37. robosystems_client/api/graph_info/get_database_info.py +26 -1
  38. robosystems_client/api/graph_limits/get_graph_limits.py +26 -1
  39. robosystems_client/api/{create → graphs}/create_graph.py +26 -1
  40. robosystems_client/api/{create → graphs}/get_available_extensions.py +1 -1
  41. robosystems_client/api/{user/get_user_graphs.py → graphs/get_graphs.py} +26 -1
  42. robosystems_client/api/{user/select_user_graph.py → graphs/select_graph.py} +30 -5
  43. robosystems_client/api/mcp/call_mcp_tool.py +21 -1
  44. robosystems_client/api/mcp/list_mcp_tools.py +26 -1
  45. robosystems_client/api/operations/cancel_operation.py +25 -0
  46. robosystems_client/api/operations/get_operation_status.py +25 -0
  47. robosystems_client/api/operations/stream_operation_events.py +20 -0
  48. robosystems_client/api/query/execute_cypher_query.py +21 -1
  49. robosystems_client/api/schema/export_graph_schema.py +21 -1
  50. robosystems_client/api/schema/get_graph_schema_info.py +26 -1
  51. robosystems_client/api/schema/list_schema_extensions.py +26 -1
  52. robosystems_client/api/schema/validate_schema.py +26 -1
  53. robosystems_client/api/subgraphs/create_subgraph.py +26 -1
  54. robosystems_client/api/subgraphs/delete_subgraph.py +26 -1
  55. robosystems_client/api/subgraphs/get_subgraph_info.py +26 -1
  56. robosystems_client/api/subgraphs/get_subgraph_quota.py +26 -1
  57. robosystems_client/api/subgraphs/list_subgraphs.py +26 -1
  58. robosystems_client/api/user/create_user_api_key.py +25 -0
  59. robosystems_client/api/user/get_all_credit_summaries.py +25 -0
  60. robosystems_client/api/user/get_current_user.py +25 -0
  61. robosystems_client/api/user/list_user_api_keys.py +25 -0
  62. robosystems_client/api/user/revoke_user_api_key.py +25 -0
  63. robosystems_client/api/user/update_user.py +25 -0
  64. robosystems_client/api/user/update_user_api_key.py +25 -0
  65. robosystems_client/api/user/update_user_password.py +25 -0
  66. robosystems_client/api/user_analytics/get_detailed_user_analytics.py +20 -0
  67. robosystems_client/api/user_analytics/get_user_usage_overview.py +25 -0
  68. robosystems_client/api/user_limits/get_all_shared_repository_limits.py +25 -0
  69. robosystems_client/api/user_limits/get_shared_repository_limits.py +25 -0
  70. robosystems_client/api/user_limits/get_user_limits.py +25 -0
  71. robosystems_client/api/user_limits/get_user_usage.py +25 -0
  72. robosystems_client/api/user_subscriptions/cancel_shared_repository_subscription.py +25 -0
  73. robosystems_client/api/user_subscriptions/get_repository_credits.py +25 -0
  74. robosystems_client/api/user_subscriptions/get_shared_repository_credits.py +25 -0
  75. robosystems_client/api/user_subscriptions/get_user_shared_subscriptions.py +20 -0
  76. robosystems_client/api/user_subscriptions/subscribe_to_shared_repository.py +25 -0
  77. robosystems_client/api/user_subscriptions/upgrade_shared_repository_subscription.py +25 -0
  78. robosystems_client/extensions/__init__.py +70 -0
  79. robosystems_client/extensions/auth_integration.py +14 -1
  80. robosystems_client/extensions/copy_client.py +32 -22
  81. robosystems_client/extensions/dataframe_utils.py +455 -0
  82. robosystems_client/extensions/extensions.py +16 -0
  83. robosystems_client/extensions/operation_client.py +43 -21
  84. robosystems_client/extensions/query_client.py +109 -12
  85. robosystems_client/extensions/tests/test_dataframe_utils.py +334 -0
  86. robosystems_client/extensions/tests/test_integration.py +1 -1
  87. robosystems_client/extensions/tests/test_token_utils.py +274 -0
  88. robosystems_client/extensions/token_utils.py +417 -0
  89. robosystems_client/extensions/utils.py +32 -2
  90. robosystems_client/models/__init__.py +0 -2
  91. robosystems_client/models/api_key_info.py +20 -0
  92. robosystems_client/models/create_api_key_request.py +20 -0
  93. {robosystems_client-0.1.17.dist-info → robosystems_client-0.1.19.dist-info}/METADATA +1 -1
  94. {robosystems_client-0.1.17.dist-info → robosystems_client-0.1.19.dist-info}/RECORD +97 -95
  95. robosystems_client/api/auth/sso_login.py +0 -177
  96. robosystems_client/models/sso_login_request.py +0 -60
  97. /robosystems_client/api/{create → graphs}/__init__.py +0 -0
  98. {robosystems_client-0.1.17.dist-info → robosystems_client-0.1.19.dist-info}/WHEEL +0 -0
  99. {robosystems_client-0.1.17.dist-info → robosystems_client-0.1.19.dist-info}/licenses/LICENSE +0 -0
@@ -13,15 +13,28 @@ from ...types import UNSET, Response, Unset
13
13
  def _get_kwargs(
14
14
  repository: str,
15
15
  *,
16
+ token: Union[None, Unset, str] = UNSET,
16
17
  authorization: Union[None, Unset, str] = UNSET,
17
18
  ) -> dict[str, Any]:
18
19
  headers: dict[str, Any] = {}
19
20
  if not isinstance(authorization, Unset):
20
21
  headers["authorization"] = authorization
21
22
 
23
+ params: dict[str, Any] = {}
24
+
25
+ json_token: Union[None, Unset, str]
26
+ if isinstance(token, Unset):
27
+ json_token = UNSET
28
+ else:
29
+ json_token = token
30
+ params["token"] = json_token
31
+
32
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
33
+
22
34
  _kwargs: dict[str, Any] = {
23
35
  "method": "get",
24
36
  "url": f"/v1/user/subscriptions/shared-repositories/credits/{repository}",
37
+ "params": params,
25
38
  }
26
39
 
27
40
  _kwargs["headers"] = headers
@@ -66,6 +79,7 @@ def sync_detailed(
66
79
  repository: str,
67
80
  *,
68
81
  client: AuthenticatedClient,
82
+ token: Union[None, Unset, str] = UNSET,
69
83
  authorization: Union[None, Unset, str] = UNSET,
70
84
  ) -> Response[Union[Any, HTTPValidationError, RepositoryCreditsResponse]]:
71
85
  """Get Repository Credits
@@ -74,6 +88,7 @@ def sync_detailed(
74
88
 
75
89
  Args:
76
90
  repository (str):
91
+ token (Union[None, Unset, str]): JWT token for SSE authentication
77
92
  authorization (Union[None, Unset, str]):
78
93
 
79
94
  Raises:
@@ -86,6 +101,7 @@ def sync_detailed(
86
101
 
87
102
  kwargs = _get_kwargs(
88
103
  repository=repository,
104
+ token=token,
89
105
  authorization=authorization,
90
106
  )
91
107
 
@@ -100,6 +116,7 @@ def sync(
100
116
  repository: str,
101
117
  *,
102
118
  client: AuthenticatedClient,
119
+ token: Union[None, Unset, str] = UNSET,
103
120
  authorization: Union[None, Unset, str] = UNSET,
104
121
  ) -> Optional[Union[Any, HTTPValidationError, RepositoryCreditsResponse]]:
105
122
  """Get Repository Credits
@@ -108,6 +125,7 @@ def sync(
108
125
 
109
126
  Args:
110
127
  repository (str):
128
+ token (Union[None, Unset, str]): JWT token for SSE authentication
111
129
  authorization (Union[None, Unset, str]):
112
130
 
113
131
  Raises:
@@ -121,6 +139,7 @@ def sync(
121
139
  return sync_detailed(
122
140
  repository=repository,
123
141
  client=client,
142
+ token=token,
124
143
  authorization=authorization,
125
144
  ).parsed
126
145
 
@@ -129,6 +148,7 @@ async def asyncio_detailed(
129
148
  repository: str,
130
149
  *,
131
150
  client: AuthenticatedClient,
151
+ token: Union[None, Unset, str] = UNSET,
132
152
  authorization: Union[None, Unset, str] = UNSET,
133
153
  ) -> Response[Union[Any, HTTPValidationError, RepositoryCreditsResponse]]:
134
154
  """Get Repository Credits
@@ -137,6 +157,7 @@ async def asyncio_detailed(
137
157
 
138
158
  Args:
139
159
  repository (str):
160
+ token (Union[None, Unset, str]): JWT token for SSE authentication
140
161
  authorization (Union[None, Unset, str]):
141
162
 
142
163
  Raises:
@@ -149,6 +170,7 @@ async def asyncio_detailed(
149
170
 
150
171
  kwargs = _get_kwargs(
151
172
  repository=repository,
173
+ token=token,
152
174
  authorization=authorization,
153
175
  )
154
176
 
@@ -161,6 +183,7 @@ async def asyncio(
161
183
  repository: str,
162
184
  *,
163
185
  client: AuthenticatedClient,
186
+ token: Union[None, Unset, str] = UNSET,
164
187
  authorization: Union[None, Unset, str] = UNSET,
165
188
  ) -> Optional[Union[Any, HTTPValidationError, RepositoryCreditsResponse]]:
166
189
  """Get Repository Credits
@@ -169,6 +192,7 @@ async def asyncio(
169
192
 
170
193
  Args:
171
194
  repository (str):
195
+ token (Union[None, Unset, str]): JWT token for SSE authentication
172
196
  authorization (Union[None, Unset, str]):
173
197
 
174
198
  Raises:
@@ -183,6 +207,7 @@ async def asyncio(
183
207
  await asyncio_detailed(
184
208
  repository=repository,
185
209
  client=client,
210
+ token=token,
186
211
  authorization=authorization,
187
212
  )
188
213
  ).parsed
@@ -12,15 +12,28 @@ from ...types import UNSET, Response, Unset
12
12
 
13
13
  def _get_kwargs(
14
14
  *,
15
+ token: Union[None, Unset, str] = UNSET,
15
16
  authorization: Union[None, Unset, str] = UNSET,
16
17
  ) -> dict[str, Any]:
17
18
  headers: dict[str, Any] = {}
18
19
  if not isinstance(authorization, Unset):
19
20
  headers["authorization"] = authorization
20
21
 
22
+ params: dict[str, Any] = {}
23
+
24
+ json_token: Union[None, Unset, str]
25
+ if isinstance(token, Unset):
26
+ json_token = UNSET
27
+ else:
28
+ json_token = token
29
+ params["token"] = json_token
30
+
31
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
32
+
21
33
  _kwargs: dict[str, Any] = {
22
34
  "method": "get",
23
35
  "url": "/v1/user/subscriptions/shared-repositories/credits",
36
+ "params": params,
24
37
  }
25
38
 
26
39
  _kwargs["headers"] = headers
@@ -64,6 +77,7 @@ def _build_response(
64
77
  def sync_detailed(
65
78
  *,
66
79
  client: AuthenticatedClient,
80
+ token: Union[None, Unset, str] = UNSET,
67
81
  authorization: Union[None, Unset, str] = UNSET,
68
82
  ) -> Response[Union[Any, CreditsSummaryResponse, HTTPValidationError]]:
69
83
  """Get Credit Balances
@@ -71,6 +85,7 @@ def sync_detailed(
71
85
  Retrieve credit balances for all shared repository subscriptions
72
86
 
73
87
  Args:
88
+ token (Union[None, Unset, str]): JWT token for SSE authentication
74
89
  authorization (Union[None, Unset, str]):
75
90
 
76
91
  Raises:
@@ -82,6 +97,7 @@ def sync_detailed(
82
97
  """
83
98
 
84
99
  kwargs = _get_kwargs(
100
+ token=token,
85
101
  authorization=authorization,
86
102
  )
87
103
 
@@ -95,6 +111,7 @@ def sync_detailed(
95
111
  def sync(
96
112
  *,
97
113
  client: AuthenticatedClient,
114
+ token: Union[None, Unset, str] = UNSET,
98
115
  authorization: Union[None, Unset, str] = UNSET,
99
116
  ) -> Optional[Union[Any, CreditsSummaryResponse, HTTPValidationError]]:
100
117
  """Get Credit Balances
@@ -102,6 +119,7 @@ def sync(
102
119
  Retrieve credit balances for all shared repository subscriptions
103
120
 
104
121
  Args:
122
+ token (Union[None, Unset, str]): JWT token for SSE authentication
105
123
  authorization (Union[None, Unset, str]):
106
124
 
107
125
  Raises:
@@ -114,6 +132,7 @@ def sync(
114
132
 
115
133
  return sync_detailed(
116
134
  client=client,
135
+ token=token,
117
136
  authorization=authorization,
118
137
  ).parsed
119
138
 
@@ -121,6 +140,7 @@ def sync(
121
140
  async def asyncio_detailed(
122
141
  *,
123
142
  client: AuthenticatedClient,
143
+ token: Union[None, Unset, str] = UNSET,
124
144
  authorization: Union[None, Unset, str] = UNSET,
125
145
  ) -> Response[Union[Any, CreditsSummaryResponse, HTTPValidationError]]:
126
146
  """Get Credit Balances
@@ -128,6 +148,7 @@ async def asyncio_detailed(
128
148
  Retrieve credit balances for all shared repository subscriptions
129
149
 
130
150
  Args:
151
+ token (Union[None, Unset, str]): JWT token for SSE authentication
131
152
  authorization (Union[None, Unset, str]):
132
153
 
133
154
  Raises:
@@ -139,6 +160,7 @@ async def asyncio_detailed(
139
160
  """
140
161
 
141
162
  kwargs = _get_kwargs(
163
+ token=token,
142
164
  authorization=authorization,
143
165
  )
144
166
 
@@ -150,6 +172,7 @@ async def asyncio_detailed(
150
172
  async def asyncio(
151
173
  *,
152
174
  client: AuthenticatedClient,
175
+ token: Union[None, Unset, str] = UNSET,
153
176
  authorization: Union[None, Unset, str] = UNSET,
154
177
  ) -> Optional[Union[Any, CreditsSummaryResponse, HTTPValidationError]]:
155
178
  """Get Credit Balances
@@ -157,6 +180,7 @@ async def asyncio(
157
180
  Retrieve credit balances for all shared repository subscriptions
158
181
 
159
182
  Args:
183
+ token (Union[None, Unset, str]): JWT token for SSE authentication
160
184
  authorization (Union[None, Unset, str]):
161
185
 
162
186
  Raises:
@@ -170,6 +194,7 @@ async def asyncio(
170
194
  return (
171
195
  await asyncio_detailed(
172
196
  client=client,
197
+ token=token,
173
198
  authorization=authorization,
174
199
  )
175
200
  ).parsed
@@ -13,6 +13,7 @@ from ...types import UNSET, Response, Unset
13
13
  def _get_kwargs(
14
14
  *,
15
15
  active_only: Union[Unset, bool] = True,
16
+ token: Union[None, Unset, str] = UNSET,
16
17
  authorization: Union[None, Unset, str] = UNSET,
17
18
  ) -> dict[str, Any]:
18
19
  headers: dict[str, Any] = {}
@@ -23,6 +24,13 @@ def _get_kwargs(
23
24
 
24
25
  params["active_only"] = active_only
25
26
 
27
+ json_token: Union[None, Unset, str]
28
+ if isinstance(token, Unset):
29
+ json_token = UNSET
30
+ else:
31
+ json_token = token
32
+ params["token"] = json_token
33
+
26
34
  params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
27
35
 
28
36
  _kwargs: dict[str, Any] = {
@@ -73,6 +81,7 @@ def sync_detailed(
73
81
  *,
74
82
  client: AuthenticatedClient,
75
83
  active_only: Union[Unset, bool] = True,
84
+ token: Union[None, Unset, str] = UNSET,
76
85
  authorization: Union[None, Unset, str] = UNSET,
77
86
  ) -> Response[Union[Any, HTTPValidationError, UserSubscriptionsResponse]]:
78
87
  """Get User Subscriptions
@@ -81,6 +90,7 @@ def sync_detailed(
81
90
 
82
91
  Args:
83
92
  active_only (Union[Unset, bool]): Only return active subscriptions Default: True.
93
+ token (Union[None, Unset, str]): JWT token for SSE authentication
84
94
  authorization (Union[None, Unset, str]):
85
95
 
86
96
  Raises:
@@ -93,6 +103,7 @@ def sync_detailed(
93
103
 
94
104
  kwargs = _get_kwargs(
95
105
  active_only=active_only,
106
+ token=token,
96
107
  authorization=authorization,
97
108
  )
98
109
 
@@ -107,6 +118,7 @@ def sync(
107
118
  *,
108
119
  client: AuthenticatedClient,
109
120
  active_only: Union[Unset, bool] = True,
121
+ token: Union[None, Unset, str] = UNSET,
110
122
  authorization: Union[None, Unset, str] = UNSET,
111
123
  ) -> Optional[Union[Any, HTTPValidationError, UserSubscriptionsResponse]]:
112
124
  """Get User Subscriptions
@@ -115,6 +127,7 @@ def sync(
115
127
 
116
128
  Args:
117
129
  active_only (Union[Unset, bool]): Only return active subscriptions Default: True.
130
+ token (Union[None, Unset, str]): JWT token for SSE authentication
118
131
  authorization (Union[None, Unset, str]):
119
132
 
120
133
  Raises:
@@ -128,6 +141,7 @@ def sync(
128
141
  return sync_detailed(
129
142
  client=client,
130
143
  active_only=active_only,
144
+ token=token,
131
145
  authorization=authorization,
132
146
  ).parsed
133
147
 
@@ -136,6 +150,7 @@ async def asyncio_detailed(
136
150
  *,
137
151
  client: AuthenticatedClient,
138
152
  active_only: Union[Unset, bool] = True,
153
+ token: Union[None, Unset, str] = UNSET,
139
154
  authorization: Union[None, Unset, str] = UNSET,
140
155
  ) -> Response[Union[Any, HTTPValidationError, UserSubscriptionsResponse]]:
141
156
  """Get User Subscriptions
@@ -144,6 +159,7 @@ async def asyncio_detailed(
144
159
 
145
160
  Args:
146
161
  active_only (Union[Unset, bool]): Only return active subscriptions Default: True.
162
+ token (Union[None, Unset, str]): JWT token for SSE authentication
147
163
  authorization (Union[None, Unset, str]):
148
164
 
149
165
  Raises:
@@ -156,6 +172,7 @@ async def asyncio_detailed(
156
172
 
157
173
  kwargs = _get_kwargs(
158
174
  active_only=active_only,
175
+ token=token,
159
176
  authorization=authorization,
160
177
  )
161
178
 
@@ -168,6 +185,7 @@ async def asyncio(
168
185
  *,
169
186
  client: AuthenticatedClient,
170
187
  active_only: Union[Unset, bool] = True,
188
+ token: Union[None, Unset, str] = UNSET,
171
189
  authorization: Union[None, Unset, str] = UNSET,
172
190
  ) -> Optional[Union[Any, HTTPValidationError, UserSubscriptionsResponse]]:
173
191
  """Get User Subscriptions
@@ -176,6 +194,7 @@ async def asyncio(
176
194
 
177
195
  Args:
178
196
  active_only (Union[Unset, bool]): Only return active subscriptions Default: True.
197
+ token (Union[None, Unset, str]): JWT token for SSE authentication
179
198
  authorization (Union[None, Unset, str]):
180
199
 
181
200
  Raises:
@@ -190,6 +209,7 @@ async def asyncio(
190
209
  await asyncio_detailed(
191
210
  client=client,
192
211
  active_only=active_only,
212
+ token=token,
193
213
  authorization=authorization,
194
214
  )
195
215
  ).parsed
@@ -14,15 +14,28 @@ from ...types import UNSET, Response, Unset
14
14
  def _get_kwargs(
15
15
  *,
16
16
  body: SubscriptionRequest,
17
+ token: Union[None, Unset, str] = UNSET,
17
18
  authorization: Union[None, Unset, str] = UNSET,
18
19
  ) -> dict[str, Any]:
19
20
  headers: dict[str, Any] = {}
20
21
  if not isinstance(authorization, Unset):
21
22
  headers["authorization"] = authorization
22
23
 
24
+ params: dict[str, Any] = {}
25
+
26
+ json_token: Union[None, Unset, str]
27
+ if isinstance(token, Unset):
28
+ json_token = UNSET
29
+ else:
30
+ json_token = token
31
+ params["token"] = json_token
32
+
33
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
34
+
23
35
  _kwargs: dict[str, Any] = {
24
36
  "method": "post",
25
37
  "url": "/v1/user/subscriptions/shared-repositories/subscribe",
38
+ "params": params,
26
39
  }
27
40
 
28
41
  _kwargs["json"] = body.to_dict()
@@ -74,6 +87,7 @@ def sync_detailed(
74
87
  *,
75
88
  client: AuthenticatedClient,
76
89
  body: SubscriptionRequest,
90
+ token: Union[None, Unset, str] = UNSET,
77
91
  authorization: Union[None, Unset, str] = UNSET,
78
92
  ) -> Response[Union[Any, HTTPValidationError, SubscriptionResponse]]:
79
93
  """Subscribe to Shared Repository
@@ -81,6 +95,7 @@ def sync_detailed(
81
95
  Create a new subscription to a shared repository add-on with specified tier
82
96
 
83
97
  Args:
98
+ token (Union[None, Unset, str]): JWT token for SSE authentication
84
99
  authorization (Union[None, Unset, str]):
85
100
  body (SubscriptionRequest): Request to create a new subscription.
86
101
 
@@ -94,6 +109,7 @@ def sync_detailed(
94
109
 
95
110
  kwargs = _get_kwargs(
96
111
  body=body,
112
+ token=token,
97
113
  authorization=authorization,
98
114
  )
99
115
 
@@ -108,6 +124,7 @@ def sync(
108
124
  *,
109
125
  client: AuthenticatedClient,
110
126
  body: SubscriptionRequest,
127
+ token: Union[None, Unset, str] = UNSET,
111
128
  authorization: Union[None, Unset, str] = UNSET,
112
129
  ) -> Optional[Union[Any, HTTPValidationError, SubscriptionResponse]]:
113
130
  """Subscribe to Shared Repository
@@ -115,6 +132,7 @@ def sync(
115
132
  Create a new subscription to a shared repository add-on with specified tier
116
133
 
117
134
  Args:
135
+ token (Union[None, Unset, str]): JWT token for SSE authentication
118
136
  authorization (Union[None, Unset, str]):
119
137
  body (SubscriptionRequest): Request to create a new subscription.
120
138
 
@@ -129,6 +147,7 @@ def sync(
129
147
  return sync_detailed(
130
148
  client=client,
131
149
  body=body,
150
+ token=token,
132
151
  authorization=authorization,
133
152
  ).parsed
134
153
 
@@ -137,6 +156,7 @@ async def asyncio_detailed(
137
156
  *,
138
157
  client: AuthenticatedClient,
139
158
  body: SubscriptionRequest,
159
+ token: Union[None, Unset, str] = UNSET,
140
160
  authorization: Union[None, Unset, str] = UNSET,
141
161
  ) -> Response[Union[Any, HTTPValidationError, SubscriptionResponse]]:
142
162
  """Subscribe to Shared Repository
@@ -144,6 +164,7 @@ async def asyncio_detailed(
144
164
  Create a new subscription to a shared repository add-on with specified tier
145
165
 
146
166
  Args:
167
+ token (Union[None, Unset, str]): JWT token for SSE authentication
147
168
  authorization (Union[None, Unset, str]):
148
169
  body (SubscriptionRequest): Request to create a new subscription.
149
170
 
@@ -157,6 +178,7 @@ async def asyncio_detailed(
157
178
 
158
179
  kwargs = _get_kwargs(
159
180
  body=body,
181
+ token=token,
160
182
  authorization=authorization,
161
183
  )
162
184
 
@@ -169,6 +191,7 @@ async def asyncio(
169
191
  *,
170
192
  client: AuthenticatedClient,
171
193
  body: SubscriptionRequest,
194
+ token: Union[None, Unset, str] = UNSET,
172
195
  authorization: Union[None, Unset, str] = UNSET,
173
196
  ) -> Optional[Union[Any, HTTPValidationError, SubscriptionResponse]]:
174
197
  """Subscribe to Shared Repository
@@ -176,6 +199,7 @@ async def asyncio(
176
199
  Create a new subscription to a shared repository add-on with specified tier
177
200
 
178
201
  Args:
202
+ token (Union[None, Unset, str]): JWT token for SSE authentication
179
203
  authorization (Union[None, Unset, str]):
180
204
  body (SubscriptionRequest): Request to create a new subscription.
181
205
 
@@ -191,6 +215,7 @@ async def asyncio(
191
215
  await asyncio_detailed(
192
216
  client=client,
193
217
  body=body,
218
+ token=token,
194
219
  authorization=authorization,
195
220
  )
196
221
  ).parsed
@@ -14,15 +14,28 @@ def _get_kwargs(
14
14
  subscription_id: str,
15
15
  *,
16
16
  body: TierUpgradeRequest,
17
+ token: Union[None, Unset, str] = UNSET,
17
18
  authorization: Union[None, Unset, str] = UNSET,
18
19
  ) -> dict[str, Any]:
19
20
  headers: dict[str, Any] = {}
20
21
  if not isinstance(authorization, Unset):
21
22
  headers["authorization"] = authorization
22
23
 
24
+ params: dict[str, Any] = {}
25
+
26
+ json_token: Union[None, Unset, str]
27
+ if isinstance(token, Unset):
28
+ json_token = UNSET
29
+ else:
30
+ json_token = token
31
+ params["token"] = json_token
32
+
33
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
34
+
23
35
  _kwargs: dict[str, Any] = {
24
36
  "method": "put",
25
37
  "url": f"/v1/user/subscriptions/shared-repositories/{subscription_id}/upgrade",
38
+ "params": params,
26
39
  }
27
40
 
28
41
  _kwargs["json"] = body.to_dict()
@@ -77,6 +90,7 @@ def sync_detailed(
77
90
  *,
78
91
  client: AuthenticatedClient,
79
92
  body: TierUpgradeRequest,
93
+ token: Union[None, Unset, str] = UNSET,
80
94
  authorization: Union[None, Unset, str] = UNSET,
81
95
  ) -> Response[Union[Any, HTTPValidationError]]:
82
96
  """Upgrade Subscription Tier
@@ -85,6 +99,7 @@ def sync_detailed(
85
99
 
86
100
  Args:
87
101
  subscription_id (str):
102
+ token (Union[None, Unset, str]): JWT token for SSE authentication
88
103
  authorization (Union[None, Unset, str]):
89
104
  body (TierUpgradeRequest): Request to upgrade subscription tier.
90
105
 
@@ -99,6 +114,7 @@ def sync_detailed(
99
114
  kwargs = _get_kwargs(
100
115
  subscription_id=subscription_id,
101
116
  body=body,
117
+ token=token,
102
118
  authorization=authorization,
103
119
  )
104
120
 
@@ -114,6 +130,7 @@ def sync(
114
130
  *,
115
131
  client: AuthenticatedClient,
116
132
  body: TierUpgradeRequest,
133
+ token: Union[None, Unset, str] = UNSET,
117
134
  authorization: Union[None, Unset, str] = UNSET,
118
135
  ) -> Optional[Union[Any, HTTPValidationError]]:
119
136
  """Upgrade Subscription Tier
@@ -122,6 +139,7 @@ def sync(
122
139
 
123
140
  Args:
124
141
  subscription_id (str):
142
+ token (Union[None, Unset, str]): JWT token for SSE authentication
125
143
  authorization (Union[None, Unset, str]):
126
144
  body (TierUpgradeRequest): Request to upgrade subscription tier.
127
145
 
@@ -137,6 +155,7 @@ def sync(
137
155
  subscription_id=subscription_id,
138
156
  client=client,
139
157
  body=body,
158
+ token=token,
140
159
  authorization=authorization,
141
160
  ).parsed
142
161
 
@@ -146,6 +165,7 @@ async def asyncio_detailed(
146
165
  *,
147
166
  client: AuthenticatedClient,
148
167
  body: TierUpgradeRequest,
168
+ token: Union[None, Unset, str] = UNSET,
149
169
  authorization: Union[None, Unset, str] = UNSET,
150
170
  ) -> Response[Union[Any, HTTPValidationError]]:
151
171
  """Upgrade Subscription Tier
@@ -154,6 +174,7 @@ async def asyncio_detailed(
154
174
 
155
175
  Args:
156
176
  subscription_id (str):
177
+ token (Union[None, Unset, str]): JWT token for SSE authentication
157
178
  authorization (Union[None, Unset, str]):
158
179
  body (TierUpgradeRequest): Request to upgrade subscription tier.
159
180
 
@@ -168,6 +189,7 @@ async def asyncio_detailed(
168
189
  kwargs = _get_kwargs(
169
190
  subscription_id=subscription_id,
170
191
  body=body,
192
+ token=token,
171
193
  authorization=authorization,
172
194
  )
173
195
 
@@ -181,6 +203,7 @@ async def asyncio(
181
203
  *,
182
204
  client: AuthenticatedClient,
183
205
  body: TierUpgradeRequest,
206
+ token: Union[None, Unset, str] = UNSET,
184
207
  authorization: Union[None, Unset, str] = UNSET,
185
208
  ) -> Optional[Union[Any, HTTPValidationError]]:
186
209
  """Upgrade Subscription Tier
@@ -189,6 +212,7 @@ async def asyncio(
189
212
 
190
213
  Args:
191
214
  subscription_id (str):
215
+ token (Union[None, Unset, str]): JWT token for SSE authentication
192
216
  authorization (Union[None, Unset, str]):
193
217
  body (TierUpgradeRequest): Request to upgrade subscription tier.
194
218
 
@@ -205,6 +229,7 @@ async def asyncio(
205
229
  subscription_id=subscription_id,
206
230
  client=client,
207
231
  body=body,
232
+ token=token,
208
233
  authorization=authorization,
209
234
  )
210
235
  ).parsed
@@ -54,6 +54,47 @@ from .auth_integration import (
54
54
  create_development_extensions,
55
55
  )
56
56
 
57
+ # JWT Token utilities
58
+ from .token_utils import (
59
+ validate_jwt_format,
60
+ extract_jwt_from_header,
61
+ decode_jwt_payload,
62
+ is_jwt_expired,
63
+ get_jwt_claims,
64
+ get_jwt_expiration,
65
+ extract_token_from_environment,
66
+ extract_token_from_cookie,
67
+ find_valid_token,
68
+ TokenManager,
69
+ TokenSource,
70
+ )
71
+
72
+ # DataFrame utilities (optional - requires pandas)
73
+ try:
74
+ from .dataframe_utils import (
75
+ query_result_to_dataframe,
76
+ DataFrameQueryClient,
77
+ HAS_PANDAS,
78
+ )
79
+
80
+ # Re-export the imported functions for module API
81
+ from .dataframe_utils import (
82
+ parse_datetime_columns,
83
+ stream_to_dataframe as _stream_to_dataframe,
84
+ dataframe_to_cypher_params,
85
+ export_query_to_csv,
86
+ compare_dataframes,
87
+ )
88
+ except ImportError:
89
+ HAS_PANDAS = False
90
+ DataFrameQueryClient = None
91
+ # Set placeholders for optional functions
92
+ parse_datetime_columns = None
93
+ _stream_to_dataframe = None
94
+ dataframe_to_cypher_params = None
95
+ export_query_to_csv = None
96
+ compare_dataframes = None
97
+
57
98
  __all__ = [
58
99
  # Core extension classes
59
100
  "RoboSystemsExtensions",
@@ -101,6 +142,21 @@ __all__ = [
101
142
  "create_extensions",
102
143
  "create_production_extensions",
103
144
  "create_development_extensions",
145
+ # JWT Token utilities
146
+ "validate_jwt_format",
147
+ "extract_jwt_from_header",
148
+ "decode_jwt_payload",
149
+ "is_jwt_expired",
150
+ "get_jwt_claims",
151
+ "get_jwt_expiration",
152
+ "extract_token_from_environment",
153
+ "extract_token_from_cookie",
154
+ "find_valid_token",
155
+ "TokenManager",
156
+ "TokenSource",
157
+ # DataFrame utilities (optional)
158
+ "HAS_PANDAS",
159
+ "DataFrameQueryClient",
104
160
  ]
105
161
 
106
162
  # Create a default extensions instance
@@ -135,3 +191,17 @@ def copy_from_s3(
135
191
  return extensions.copy_from_s3(
136
192
  graph_id, table_name, s3_path, access_key_id, secret_access_key, **kwargs
137
193
  )
194
+
195
+
196
+ # DataFrame convenience functions (if pandas is available)
197
+ if HAS_PANDAS:
198
+
199
+ def query_to_dataframe(graph_id: str, query: str, parameters=None, **kwargs):
200
+ """Execute query and return results as pandas DataFrame"""
201
+ result = execute_query(graph_id, query, parameters)
202
+ return query_result_to_dataframe(result, **kwargs)
203
+
204
+ def stream_to_dataframe(graph_id: str, query: str, parameters=None, chunk_size=10000):
205
+ """Stream query results and return as pandas DataFrame"""
206
+ stream = stream_query(graph_id, query, parameters, chunk_size)
207
+ return _stream_to_dataframe(stream, chunk_size)