robosystems-client 0.2.2__py3-none-any.whl → 0.2.4__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.
- robosystems_client/api/agent/auto_select_agent.py +1 -41
- robosystems_client/api/agent/batch_process_queries.py +1 -41
- robosystems_client/api/agent/execute_specific_agent.py +1 -41
- robosystems_client/api/agent/get_agent_metadata.py +5 -49
- robosystems_client/api/agent/list_agents.py +4 -42
- robosystems_client/api/agent/recommend_agent.py +5 -45
- robosystems_client/api/auth/generate_sso_token.py +0 -18
- robosystems_client/api/auth/get_current_auth_user.py +14 -74
- robosystems_client/api/auth/logout_user.py +14 -50
- robosystems_client/api/auth/refresh_auth_session.py +14 -50
- robosystems_client/api/auth/resend_verification_email.py +14 -74
- robosystems_client/api/backup/create_backup.py +5 -45
- robosystems_client/api/backup/get_backup_download_url.py +4 -42
- robosystems_client/api/backup/get_backup_stats.py +5 -49
- robosystems_client/api/backup/list_backups.py +4 -42
- robosystems_client/api/backup/restore_backup.py +5 -45
- robosystems_client/api/connections/create_connection.py +5 -45
- robosystems_client/api/connections/create_link_token.py +5 -45
- robosystems_client/api/connections/delete_connection.py +5 -49
- robosystems_client/api/connections/exchange_link_token.py +5 -45
- robosystems_client/api/connections/get_connection.py +5 -49
- robosystems_client/api/connections/get_connection_options.py +5 -49
- robosystems_client/api/connections/init_o_auth.py +5 -45
- robosystems_client/api/connections/list_connections.py +4 -42
- robosystems_client/api/connections/oauth_callback.py +5 -45
- robosystems_client/api/connections/sync_connection.py +5 -45
- robosystems_client/api/graph_analytics/get_graph_metrics.py +5 -49
- robosystems_client/api/graph_analytics/get_graph_usage_stats.py +4 -42
- robosystems_client/api/graph_billing/get_current_graph_bill.py +5 -49
- robosystems_client/api/graph_billing/get_graph_billing_history.py +4 -42
- robosystems_client/api/graph_billing/get_graph_monthly_bill.py +5 -49
- robosystems_client/api/graph_billing/get_graph_usage_details.py +4 -42
- robosystems_client/api/graph_credits/check_credit_balance.py +0 -38
- robosystems_client/api/graph_credits/check_storage_limits.py +1 -45
- robosystems_client/api/graph_credits/get_credit_summary.py +1 -45
- robosystems_client/api/graph_credits/get_storage_usage.py +0 -38
- robosystems_client/api/graph_credits/list_credit_transactions.py +4 -42
- robosystems_client/api/graph_health/get_database_health.py +5 -49
- robosystems_client/api/graph_info/get_database_info.py +5 -49
- robosystems_client/api/graph_limits/get_graph_limits.py +5 -49
- robosystems_client/api/graphs/create_graph.py +21 -57
- robosystems_client/api/graphs/get_available_extensions.py +131 -15
- robosystems_client/api/graphs/get_graphs.py +154 -79
- robosystems_client/api/graphs/select_graph.py +117 -49
- robosystems_client/api/mcp/call_mcp_tool.py +24 -47
- robosystems_client/api/mcp/list_mcp_tools.py +13 -61
- robosystems_client/api/operations/cancel_operation.py +1 -45
- robosystems_client/api/operations/get_operation_status.py +1 -45
- robosystems_client/api/query/execute_cypher_query.py +68 -57
- robosystems_client/api/schema/export_graph_schema.py +223 -65
- robosystems_client/api/schema/get_graph_schema.py +137 -79
- robosystems_client/api/schema/validate_schema.py +5 -45
- robosystems_client/api/subgraphs/create_subgraph.py +5 -45
- robosystems_client/api/subgraphs/delete_subgraph.py +5 -45
- robosystems_client/api/subgraphs/get_subgraph_info.py +5 -49
- robosystems_client/api/subgraphs/get_subgraph_quota.py +5 -49
- robosystems_client/api/subgraphs/list_subgraphs.py +5 -49
- robosystems_client/api/tables/delete_file.py +317 -0
- robosystems_client/api/tables/get_file_info.py +249 -0
- robosystems_client/api/tables/get_upload_url.py +352 -0
- robosystems_client/api/tables/ingest_tables.py +428 -0
- robosystems_client/api/tables/list_table_files.py +329 -0
- robosystems_client/api/tables/list_tables.py +316 -0
- robosystems_client/api/tables/query_tables.py +431 -0
- robosystems_client/api/tables/update_file_status.py +395 -0
- robosystems_client/api/user/create_user_api_key.py +1 -41
- robosystems_client/api/user/get_all_credit_summaries.py +14 -111
- robosystems_client/api/user/get_current_user.py +14 -75
- robosystems_client/api/user/list_user_api_keys.py +14 -75
- robosystems_client/api/user/revoke_user_api_key.py +1 -45
- robosystems_client/api/user/update_user.py +1 -41
- robosystems_client/api/user/update_user_api_key.py +1 -41
- robosystems_client/api/user/update_user_password.py +1 -41
- robosystems_client/api/user_analytics/get_detailed_user_analytics.py +0 -38
- robosystems_client/api/user_analytics/get_user_usage_overview.py +14 -75
- robosystems_client/api/user_limits/get_all_shared_repository_limits.py +14 -105
- robosystems_client/api/user_limits/get_shared_repository_limits.py +1 -45
- robosystems_client/api/user_limits/get_user_limits.py +14 -75
- robosystems_client/api/user_limits/get_user_usage.py +14 -75
- robosystems_client/api/user_subscriptions/cancel_shared_repository_subscription.py +1 -45
- robosystems_client/api/user_subscriptions/get_repository_credits.py +1 -45
- robosystems_client/api/user_subscriptions/get_shared_repository_credits.py +14 -75
- robosystems_client/api/user_subscriptions/get_user_shared_subscriptions.py +0 -38
- robosystems_client/api/user_subscriptions/subscribe_to_shared_repository.py +1 -41
- robosystems_client/api/user_subscriptions/upgrade_shared_repository_subscription.py +1 -41
- robosystems_client/extensions/__init__.py +8 -1
- robosystems_client/extensions/auth_integration.py +1 -2
- robosystems_client/extensions/graph_client.py +5 -0
- robosystems_client/extensions/query_client.py +3 -2
- robosystems_client/extensions/sse_client.py +1 -1
- robosystems_client/extensions/table_ingest_client.py +36 -40
- robosystems_client/extensions/utils.py +2 -2
- robosystems_client/models/__init__.py +17 -21
- robosystems_client/models/create_graph_request.py +15 -3
- robosystems_client/models/cypher_query_request.py +5 -22
- robosystems_client/models/{delete_file_v1_graphs_graph_id_tables_files_file_id_delete_response_delete_file_v1_graphs_graph_id_tables_files_file_id_delete.py → delete_file_response.py} +45 -9
- robosystems_client/models/file_info.py +169 -0
- robosystems_client/models/file_status_update.py +41 -0
- robosystems_client/models/get_file_info_response.py +205 -0
- robosystems_client/models/list_table_files_response.py +105 -0
- robosystems_client/models/schema_export_response.py +4 -2
- robosystems_client/models/schema_info_response.py +77 -0
- robosystems_client/models/{get_graph_schema_response_getgraphschema.py → schema_info_response_schema.py} +6 -6
- robosystems_client/models/schema_validation_response.py +7 -6
- robosystems_client/models/table_query_request.py +37 -2
- robosystems_client/models/{get_file_info_v1_graphs_graph_id_tables_files_file_id_get_response_get_file_info_v1_graphs_graph_id_tables_files_file_id_get.py → update_file_status_response_updatefilestatus.py} +5 -8
- {robosystems_client-0.2.2.dist-info → robosystems_client-0.2.4.dist-info}/METADATA +2 -4
- {robosystems_client-0.2.2.dist-info → robosystems_client-0.2.4.dist-info}/RECORD +110 -108
- robosystems_client/api/tables/delete_file_v1_graphs_graph_id_tables_files_file_id_delete.py +0 -287
- robosystems_client/api/tables/get_file_info_v1_graphs_graph_id_tables_files_file_id_get.py +0 -283
- robosystems_client/api/tables/get_upload_url_v1_graphs_graph_id_tables_table_name_files_post.py +0 -260
- robosystems_client/api/tables/ingest_tables_v1_graphs_graph_id_tables_ingest_post.py +0 -251
- robosystems_client/api/tables/list_table_files_v1_graphs_graph_id_tables_table_name_files_get.py +0 -283
- robosystems_client/api/tables/list_tables_v1_graphs_graph_id_tables_get.py +0 -224
- robosystems_client/api/tables/query_tables_v1_graphs_graph_id_tables_query_post.py +0 -247
- robosystems_client/api/tables/update_file_v1_graphs_graph_id_tables_files_file_id_patch.py +0 -306
- robosystems_client/models/file_update_request.py +0 -62
- robosystems_client/models/list_table_files_v1_graphs_graph_id_tables_table_name_files_get_response_list_table_files_v1_graphs_graph_id_tables_table_name_files_get.py +0 -47
- robosystems_client/models/update_file_v1_graphs_graph_id_tables_files_file_id_patch_response_update_file_v1_graphs_graph_id_tables_files_file_id_patch.py +0 -47
- {robosystems_client-0.2.2.dist-info → robosystems_client-0.2.4.dist-info}/WHEEL +0 -0
- {robosystems_client-0.2.2.dist-info → robosystems_client-0.2.4.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
|
|
6
|
+
T = TypeVar("T", bound="FileStatusUpdate")
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@_attrs_define
|
|
10
|
+
class FileStatusUpdate:
|
|
11
|
+
"""
|
|
12
|
+
Attributes:
|
|
13
|
+
status (str): File status: 'uploaded' (ready for ingest), 'disabled' (exclude from ingest), 'archived' (soft
|
|
14
|
+
deleted)
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
status: str
|
|
18
|
+
|
|
19
|
+
def to_dict(self) -> dict[str, Any]:
|
|
20
|
+
status = self.status
|
|
21
|
+
|
|
22
|
+
field_dict: dict[str, Any] = {}
|
|
23
|
+
|
|
24
|
+
field_dict.update(
|
|
25
|
+
{
|
|
26
|
+
"status": status,
|
|
27
|
+
}
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
return field_dict
|
|
31
|
+
|
|
32
|
+
@classmethod
|
|
33
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
34
|
+
d = dict(src_dict)
|
|
35
|
+
status = d.pop("status")
|
|
36
|
+
|
|
37
|
+
file_status_update = cls(
|
|
38
|
+
status=status,
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
return file_status_update
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar, Union, cast
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
from ..types import UNSET, Unset
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="GetFileInfoResponse")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class GetFileInfoResponse:
|
|
14
|
+
"""
|
|
15
|
+
Attributes:
|
|
16
|
+
file_id (str): Unique file identifier
|
|
17
|
+
graph_id (str): Graph database identifier
|
|
18
|
+
table_id (str): Table identifier
|
|
19
|
+
file_name (str): Original file name
|
|
20
|
+
file_format (str): File format (parquet, csv, etc.)
|
|
21
|
+
size_bytes (int): File size in bytes
|
|
22
|
+
upload_status (str): Current upload status
|
|
23
|
+
upload_method (str): Upload method used
|
|
24
|
+
s3_key (str): S3 object key
|
|
25
|
+
table_name (Union[None, Unset, str]): Table name
|
|
26
|
+
row_count (Union[None, Unset, int]): Estimated row count
|
|
27
|
+
created_at (Union[None, Unset, str]): File creation timestamp
|
|
28
|
+
uploaded_at (Union[None, Unset, str]): File upload completion timestamp
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
file_id: str
|
|
32
|
+
graph_id: str
|
|
33
|
+
table_id: str
|
|
34
|
+
file_name: str
|
|
35
|
+
file_format: str
|
|
36
|
+
size_bytes: int
|
|
37
|
+
upload_status: str
|
|
38
|
+
upload_method: str
|
|
39
|
+
s3_key: str
|
|
40
|
+
table_name: Union[None, Unset, str] = UNSET
|
|
41
|
+
row_count: Union[None, Unset, int] = UNSET
|
|
42
|
+
created_at: Union[None, Unset, str] = UNSET
|
|
43
|
+
uploaded_at: Union[None, Unset, str] = UNSET
|
|
44
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
45
|
+
|
|
46
|
+
def to_dict(self) -> dict[str, Any]:
|
|
47
|
+
file_id = self.file_id
|
|
48
|
+
|
|
49
|
+
graph_id = self.graph_id
|
|
50
|
+
|
|
51
|
+
table_id = self.table_id
|
|
52
|
+
|
|
53
|
+
file_name = self.file_name
|
|
54
|
+
|
|
55
|
+
file_format = self.file_format
|
|
56
|
+
|
|
57
|
+
size_bytes = self.size_bytes
|
|
58
|
+
|
|
59
|
+
upload_status = self.upload_status
|
|
60
|
+
|
|
61
|
+
upload_method = self.upload_method
|
|
62
|
+
|
|
63
|
+
s3_key = self.s3_key
|
|
64
|
+
|
|
65
|
+
table_name: Union[None, Unset, str]
|
|
66
|
+
if isinstance(self.table_name, Unset):
|
|
67
|
+
table_name = UNSET
|
|
68
|
+
else:
|
|
69
|
+
table_name = self.table_name
|
|
70
|
+
|
|
71
|
+
row_count: Union[None, Unset, int]
|
|
72
|
+
if isinstance(self.row_count, Unset):
|
|
73
|
+
row_count = UNSET
|
|
74
|
+
else:
|
|
75
|
+
row_count = self.row_count
|
|
76
|
+
|
|
77
|
+
created_at: Union[None, Unset, str]
|
|
78
|
+
if isinstance(self.created_at, Unset):
|
|
79
|
+
created_at = UNSET
|
|
80
|
+
else:
|
|
81
|
+
created_at = self.created_at
|
|
82
|
+
|
|
83
|
+
uploaded_at: Union[None, Unset, str]
|
|
84
|
+
if isinstance(self.uploaded_at, Unset):
|
|
85
|
+
uploaded_at = UNSET
|
|
86
|
+
else:
|
|
87
|
+
uploaded_at = self.uploaded_at
|
|
88
|
+
|
|
89
|
+
field_dict: dict[str, Any] = {}
|
|
90
|
+
field_dict.update(self.additional_properties)
|
|
91
|
+
field_dict.update(
|
|
92
|
+
{
|
|
93
|
+
"file_id": file_id,
|
|
94
|
+
"graph_id": graph_id,
|
|
95
|
+
"table_id": table_id,
|
|
96
|
+
"file_name": file_name,
|
|
97
|
+
"file_format": file_format,
|
|
98
|
+
"size_bytes": size_bytes,
|
|
99
|
+
"upload_status": upload_status,
|
|
100
|
+
"upload_method": upload_method,
|
|
101
|
+
"s3_key": s3_key,
|
|
102
|
+
}
|
|
103
|
+
)
|
|
104
|
+
if table_name is not UNSET:
|
|
105
|
+
field_dict["table_name"] = table_name
|
|
106
|
+
if row_count is not UNSET:
|
|
107
|
+
field_dict["row_count"] = row_count
|
|
108
|
+
if created_at is not UNSET:
|
|
109
|
+
field_dict["created_at"] = created_at
|
|
110
|
+
if uploaded_at is not UNSET:
|
|
111
|
+
field_dict["uploaded_at"] = uploaded_at
|
|
112
|
+
|
|
113
|
+
return field_dict
|
|
114
|
+
|
|
115
|
+
@classmethod
|
|
116
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
117
|
+
d = dict(src_dict)
|
|
118
|
+
file_id = d.pop("file_id")
|
|
119
|
+
|
|
120
|
+
graph_id = d.pop("graph_id")
|
|
121
|
+
|
|
122
|
+
table_id = d.pop("table_id")
|
|
123
|
+
|
|
124
|
+
file_name = d.pop("file_name")
|
|
125
|
+
|
|
126
|
+
file_format = d.pop("file_format")
|
|
127
|
+
|
|
128
|
+
size_bytes = d.pop("size_bytes")
|
|
129
|
+
|
|
130
|
+
upload_status = d.pop("upload_status")
|
|
131
|
+
|
|
132
|
+
upload_method = d.pop("upload_method")
|
|
133
|
+
|
|
134
|
+
s3_key = d.pop("s3_key")
|
|
135
|
+
|
|
136
|
+
def _parse_table_name(data: object) -> Union[None, Unset, str]:
|
|
137
|
+
if data is None:
|
|
138
|
+
return data
|
|
139
|
+
if isinstance(data, Unset):
|
|
140
|
+
return data
|
|
141
|
+
return cast(Union[None, Unset, str], data)
|
|
142
|
+
|
|
143
|
+
table_name = _parse_table_name(d.pop("table_name", UNSET))
|
|
144
|
+
|
|
145
|
+
def _parse_row_count(data: object) -> Union[None, Unset, int]:
|
|
146
|
+
if data is None:
|
|
147
|
+
return data
|
|
148
|
+
if isinstance(data, Unset):
|
|
149
|
+
return data
|
|
150
|
+
return cast(Union[None, Unset, int], data)
|
|
151
|
+
|
|
152
|
+
row_count = _parse_row_count(d.pop("row_count", UNSET))
|
|
153
|
+
|
|
154
|
+
def _parse_created_at(data: object) -> Union[None, Unset, str]:
|
|
155
|
+
if data is None:
|
|
156
|
+
return data
|
|
157
|
+
if isinstance(data, Unset):
|
|
158
|
+
return data
|
|
159
|
+
return cast(Union[None, Unset, str], data)
|
|
160
|
+
|
|
161
|
+
created_at = _parse_created_at(d.pop("created_at", UNSET))
|
|
162
|
+
|
|
163
|
+
def _parse_uploaded_at(data: object) -> Union[None, Unset, str]:
|
|
164
|
+
if data is None:
|
|
165
|
+
return data
|
|
166
|
+
if isinstance(data, Unset):
|
|
167
|
+
return data
|
|
168
|
+
return cast(Union[None, Unset, str], data)
|
|
169
|
+
|
|
170
|
+
uploaded_at = _parse_uploaded_at(d.pop("uploaded_at", UNSET))
|
|
171
|
+
|
|
172
|
+
get_file_info_response = cls(
|
|
173
|
+
file_id=file_id,
|
|
174
|
+
graph_id=graph_id,
|
|
175
|
+
table_id=table_id,
|
|
176
|
+
file_name=file_name,
|
|
177
|
+
file_format=file_format,
|
|
178
|
+
size_bytes=size_bytes,
|
|
179
|
+
upload_status=upload_status,
|
|
180
|
+
upload_method=upload_method,
|
|
181
|
+
s3_key=s3_key,
|
|
182
|
+
table_name=table_name,
|
|
183
|
+
row_count=row_count,
|
|
184
|
+
created_at=created_at,
|
|
185
|
+
uploaded_at=uploaded_at,
|
|
186
|
+
)
|
|
187
|
+
|
|
188
|
+
get_file_info_response.additional_properties = d
|
|
189
|
+
return get_file_info_response
|
|
190
|
+
|
|
191
|
+
@property
|
|
192
|
+
def additional_keys(self) -> list[str]:
|
|
193
|
+
return list(self.additional_properties.keys())
|
|
194
|
+
|
|
195
|
+
def __getitem__(self, key: str) -> Any:
|
|
196
|
+
return self.additional_properties[key]
|
|
197
|
+
|
|
198
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
199
|
+
self.additional_properties[key] = value
|
|
200
|
+
|
|
201
|
+
def __delitem__(self, key: str) -> None:
|
|
202
|
+
del self.additional_properties[key]
|
|
203
|
+
|
|
204
|
+
def __contains__(self, key: str) -> bool:
|
|
205
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import TYPE_CHECKING, Any, TypeVar
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
if TYPE_CHECKING:
|
|
8
|
+
from ..models.file_info import FileInfo
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
T = TypeVar("T", bound="ListTableFilesResponse")
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@_attrs_define
|
|
15
|
+
class ListTableFilesResponse:
|
|
16
|
+
"""
|
|
17
|
+
Attributes:
|
|
18
|
+
graph_id (str): Graph database identifier
|
|
19
|
+
table_name (str): Table name
|
|
20
|
+
files (list['FileInfo']): List of files in the table
|
|
21
|
+
total_files (int): Total number of files
|
|
22
|
+
total_size_bytes (int): Total size of all files in bytes
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
graph_id: str
|
|
26
|
+
table_name: str
|
|
27
|
+
files: list["FileInfo"]
|
|
28
|
+
total_files: int
|
|
29
|
+
total_size_bytes: int
|
|
30
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
31
|
+
|
|
32
|
+
def to_dict(self) -> dict[str, Any]:
|
|
33
|
+
graph_id = self.graph_id
|
|
34
|
+
|
|
35
|
+
table_name = self.table_name
|
|
36
|
+
|
|
37
|
+
files = []
|
|
38
|
+
for files_item_data in self.files:
|
|
39
|
+
files_item = files_item_data.to_dict()
|
|
40
|
+
files.append(files_item)
|
|
41
|
+
|
|
42
|
+
total_files = self.total_files
|
|
43
|
+
|
|
44
|
+
total_size_bytes = self.total_size_bytes
|
|
45
|
+
|
|
46
|
+
field_dict: dict[str, Any] = {}
|
|
47
|
+
field_dict.update(self.additional_properties)
|
|
48
|
+
field_dict.update(
|
|
49
|
+
{
|
|
50
|
+
"graph_id": graph_id,
|
|
51
|
+
"table_name": table_name,
|
|
52
|
+
"files": files,
|
|
53
|
+
"total_files": total_files,
|
|
54
|
+
"total_size_bytes": total_size_bytes,
|
|
55
|
+
}
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
return field_dict
|
|
59
|
+
|
|
60
|
+
@classmethod
|
|
61
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
62
|
+
from ..models.file_info import FileInfo
|
|
63
|
+
|
|
64
|
+
d = dict(src_dict)
|
|
65
|
+
graph_id = d.pop("graph_id")
|
|
66
|
+
|
|
67
|
+
table_name = d.pop("table_name")
|
|
68
|
+
|
|
69
|
+
files = []
|
|
70
|
+
_files = d.pop("files")
|
|
71
|
+
for files_item_data in _files:
|
|
72
|
+
files_item = FileInfo.from_dict(files_item_data)
|
|
73
|
+
|
|
74
|
+
files.append(files_item)
|
|
75
|
+
|
|
76
|
+
total_files = d.pop("total_files")
|
|
77
|
+
|
|
78
|
+
total_size_bytes = d.pop("total_size_bytes")
|
|
79
|
+
|
|
80
|
+
list_table_files_response = cls(
|
|
81
|
+
graph_id=graph_id,
|
|
82
|
+
table_name=table_name,
|
|
83
|
+
files=files,
|
|
84
|
+
total_files=total_files,
|
|
85
|
+
total_size_bytes=total_size_bytes,
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
list_table_files_response.additional_properties = d
|
|
89
|
+
return list_table_files_response
|
|
90
|
+
|
|
91
|
+
@property
|
|
92
|
+
def additional_keys(self) -> list[str]:
|
|
93
|
+
return list(self.additional_properties.keys())
|
|
94
|
+
|
|
95
|
+
def __getitem__(self, key: str) -> Any:
|
|
96
|
+
return self.additional_properties[key]
|
|
97
|
+
|
|
98
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
99
|
+
self.additional_properties[key] = value
|
|
100
|
+
|
|
101
|
+
def __delitem__(self, key: str) -> None:
|
|
102
|
+
del self.additional_properties[key]
|
|
103
|
+
|
|
104
|
+
def __contains__(self, key: str) -> bool:
|
|
105
|
+
return key in self.additional_properties
|
|
@@ -24,10 +24,12 @@ class SchemaExportResponse:
|
|
|
24
24
|
|
|
25
25
|
Attributes:
|
|
26
26
|
graph_id (str): Graph ID
|
|
27
|
-
schema_definition (Union['SchemaExportResponseSchemaDefinitionType0', str]): Exported schema definition
|
|
27
|
+
schema_definition (Union['SchemaExportResponseSchemaDefinitionType0', str]): Exported schema definition (format
|
|
28
|
+
depends on 'format' parameter)
|
|
28
29
|
format_ (str): Export format used
|
|
29
30
|
exported_at (str): Export timestamp
|
|
30
|
-
data_stats (Union['SchemaExportResponseDataStatsType0', None, Unset]): Data statistics if requested
|
|
31
|
+
data_stats (Union['SchemaExportResponseDataStatsType0', None, Unset]): Data statistics if requested (only when
|
|
32
|
+
include_data_stats=true)
|
|
31
33
|
"""
|
|
32
34
|
|
|
33
35
|
graph_id: str
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import TYPE_CHECKING, Any, TypeVar
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
if TYPE_CHECKING:
|
|
8
|
+
from ..models.schema_info_response_schema import SchemaInfoResponseSchema
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
T = TypeVar("T", bound="SchemaInfoResponse")
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@_attrs_define
|
|
15
|
+
class SchemaInfoResponse:
|
|
16
|
+
"""Response model for runtime schema introspection.
|
|
17
|
+
|
|
18
|
+
This model represents the actual current state of the graph database,
|
|
19
|
+
showing what node labels, relationship types, and properties exist right now.
|
|
20
|
+
|
|
21
|
+
Attributes:
|
|
22
|
+
graph_id (str): Graph database identifier
|
|
23
|
+
schema (SchemaInfoResponseSchema): Runtime schema information showing actual database structure
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
graph_id: str
|
|
27
|
+
schema: "SchemaInfoResponseSchema"
|
|
28
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
29
|
+
|
|
30
|
+
def to_dict(self) -> dict[str, Any]:
|
|
31
|
+
graph_id = self.graph_id
|
|
32
|
+
|
|
33
|
+
schema = self.schema.to_dict()
|
|
34
|
+
|
|
35
|
+
field_dict: dict[str, Any] = {}
|
|
36
|
+
field_dict.update(self.additional_properties)
|
|
37
|
+
field_dict.update(
|
|
38
|
+
{
|
|
39
|
+
"graph_id": graph_id,
|
|
40
|
+
"schema": schema,
|
|
41
|
+
}
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
return field_dict
|
|
45
|
+
|
|
46
|
+
@classmethod
|
|
47
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
48
|
+
from ..models.schema_info_response_schema import SchemaInfoResponseSchema
|
|
49
|
+
|
|
50
|
+
d = dict(src_dict)
|
|
51
|
+
graph_id = d.pop("graph_id")
|
|
52
|
+
|
|
53
|
+
schema = SchemaInfoResponseSchema.from_dict(d.pop("schema"))
|
|
54
|
+
|
|
55
|
+
schema_info_response = cls(
|
|
56
|
+
graph_id=graph_id,
|
|
57
|
+
schema=schema,
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
schema_info_response.additional_properties = d
|
|
61
|
+
return schema_info_response
|
|
62
|
+
|
|
63
|
+
@property
|
|
64
|
+
def additional_keys(self) -> list[str]:
|
|
65
|
+
return list(self.additional_properties.keys())
|
|
66
|
+
|
|
67
|
+
def __getitem__(self, key: str) -> Any:
|
|
68
|
+
return self.additional_properties[key]
|
|
69
|
+
|
|
70
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
71
|
+
self.additional_properties[key] = value
|
|
72
|
+
|
|
73
|
+
def __delitem__(self, key: str) -> None:
|
|
74
|
+
del self.additional_properties[key]
|
|
75
|
+
|
|
76
|
+
def __contains__(self, key: str) -> bool:
|
|
77
|
+
return key in self.additional_properties
|
|
@@ -4,12 +4,12 @@ from typing import Any, TypeVar
|
|
|
4
4
|
from attrs import define as _attrs_define
|
|
5
5
|
from attrs import field as _attrs_field
|
|
6
6
|
|
|
7
|
-
T = TypeVar("T", bound="
|
|
7
|
+
T = TypeVar("T", bound="SchemaInfoResponseSchema")
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
@_attrs_define
|
|
11
|
-
class
|
|
12
|
-
""" """
|
|
11
|
+
class SchemaInfoResponseSchema:
|
|
12
|
+
"""Runtime schema information showing actual database structure"""
|
|
13
13
|
|
|
14
14
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
15
15
|
|
|
@@ -22,10 +22,10 @@ class GetGraphSchemaResponseGetgraphschema:
|
|
|
22
22
|
@classmethod
|
|
23
23
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
24
24
|
d = dict(src_dict)
|
|
25
|
-
|
|
25
|
+
schema_info_response_schema = cls()
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
return
|
|
27
|
+
schema_info_response_schema.additional_properties = d
|
|
28
|
+
return schema_info_response_schema
|
|
29
29
|
|
|
30
30
|
@property
|
|
31
31
|
def additional_keys(self) -> list[str]:
|
|
@@ -25,12 +25,13 @@ class SchemaValidationResponse:
|
|
|
25
25
|
Attributes:
|
|
26
26
|
valid (bool): Whether the schema is valid
|
|
27
27
|
message (str): Validation message
|
|
28
|
-
errors (Union[None, Unset, list[str]]): List of validation errors
|
|
29
|
-
warnings (Union[None, Unset, list[str]]): List of warnings
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
errors (Union[None, Unset, list[str]]): List of validation errors (only present when valid=false)
|
|
29
|
+
warnings (Union[None, Unset, list[str]]): List of validation warnings (schema is still valid but has potential
|
|
30
|
+
issues)
|
|
31
|
+
stats (Union['SchemaValidationResponseStatsType0', None, Unset]): Schema statistics (only present when
|
|
32
|
+
valid=true)
|
|
33
|
+
compatibility (Union['SchemaValidationResponseCompatibilityType0', None, Unset]): Compatibility check results
|
|
34
|
+
(only when check_compatibility specified)
|
|
34
35
|
"""
|
|
35
36
|
|
|
36
37
|
valid: bool
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
from collections.abc import Mapping
|
|
2
|
-
from typing import Any, TypeVar
|
|
2
|
+
from typing import Any, TypeVar, Union, cast
|
|
3
3
|
|
|
4
4
|
from attrs import define as _attrs_define
|
|
5
5
|
|
|
6
|
+
from ..types import UNSET, Unset
|
|
7
|
+
|
|
6
8
|
T = TypeVar("T", bound="TableQueryRequest")
|
|
7
9
|
|
|
8
10
|
|
|
@@ -10,14 +12,27 @@ T = TypeVar("T", bound="TableQueryRequest")
|
|
|
10
12
|
class TableQueryRequest:
|
|
11
13
|
"""
|
|
12
14
|
Attributes:
|
|
13
|
-
sql (str): SQL query to execute on staging tables
|
|
15
|
+
sql (str): SQL query to execute on staging tables. Use ? placeholders or $param_name for dynamic values to
|
|
16
|
+
prevent SQL injection.
|
|
17
|
+
parameters (Union[None, Unset, list[Any]]): Query parameters for safe value substitution. ALWAYS use parameters
|
|
18
|
+
instead of string concatenation.
|
|
14
19
|
"""
|
|
15
20
|
|
|
16
21
|
sql: str
|
|
22
|
+
parameters: Union[None, Unset, list[Any]] = UNSET
|
|
17
23
|
|
|
18
24
|
def to_dict(self) -> dict[str, Any]:
|
|
19
25
|
sql = self.sql
|
|
20
26
|
|
|
27
|
+
parameters: Union[None, Unset, list[Any]]
|
|
28
|
+
if isinstance(self.parameters, Unset):
|
|
29
|
+
parameters = UNSET
|
|
30
|
+
elif isinstance(self.parameters, list):
|
|
31
|
+
parameters = self.parameters
|
|
32
|
+
|
|
33
|
+
else:
|
|
34
|
+
parameters = self.parameters
|
|
35
|
+
|
|
21
36
|
field_dict: dict[str, Any] = {}
|
|
22
37
|
|
|
23
38
|
field_dict.update(
|
|
@@ -25,6 +40,8 @@ class TableQueryRequest:
|
|
|
25
40
|
"sql": sql,
|
|
26
41
|
}
|
|
27
42
|
)
|
|
43
|
+
if parameters is not UNSET:
|
|
44
|
+
field_dict["parameters"] = parameters
|
|
28
45
|
|
|
29
46
|
return field_dict
|
|
30
47
|
|
|
@@ -33,8 +50,26 @@ class TableQueryRequest:
|
|
|
33
50
|
d = dict(src_dict)
|
|
34
51
|
sql = d.pop("sql")
|
|
35
52
|
|
|
53
|
+
def _parse_parameters(data: object) -> Union[None, Unset, list[Any]]:
|
|
54
|
+
if data is None:
|
|
55
|
+
return data
|
|
56
|
+
if isinstance(data, Unset):
|
|
57
|
+
return data
|
|
58
|
+
try:
|
|
59
|
+
if not isinstance(data, list):
|
|
60
|
+
raise TypeError()
|
|
61
|
+
parameters_type_0 = cast(list[Any], data)
|
|
62
|
+
|
|
63
|
+
return parameters_type_0
|
|
64
|
+
except: # noqa: E722
|
|
65
|
+
pass
|
|
66
|
+
return cast(Union[None, Unset, list[Any]], data)
|
|
67
|
+
|
|
68
|
+
parameters = _parse_parameters(d.pop("parameters", UNSET))
|
|
69
|
+
|
|
36
70
|
table_query_request = cls(
|
|
37
71
|
sql=sql,
|
|
72
|
+
parameters=parameters,
|
|
38
73
|
)
|
|
39
74
|
|
|
40
75
|
return table_query_request
|
|
@@ -4,14 +4,11 @@ from typing import Any, TypeVar
|
|
|
4
4
|
from attrs import define as _attrs_define
|
|
5
5
|
from attrs import field as _attrs_field
|
|
6
6
|
|
|
7
|
-
T = TypeVar(
|
|
8
|
-
"T",
|
|
9
|
-
bound="GetFileInfoV1GraphsGraphIdTablesFilesFileIdGetResponseGetFileInfoV1GraphsGraphIdTablesFilesFileIdGet",
|
|
10
|
-
)
|
|
7
|
+
T = TypeVar("T", bound="UpdateFileStatusResponseUpdatefilestatus")
|
|
11
8
|
|
|
12
9
|
|
|
13
10
|
@_attrs_define
|
|
14
|
-
class
|
|
11
|
+
class UpdateFileStatusResponseUpdatefilestatus:
|
|
15
12
|
""" """
|
|
16
13
|
|
|
17
14
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
@@ -25,10 +22,10 @@ class GetFileInfoV1GraphsGraphIdTablesFilesFileIdGetResponseGetFileInfoV1GraphsG
|
|
|
25
22
|
@classmethod
|
|
26
23
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
27
24
|
d = dict(src_dict)
|
|
28
|
-
|
|
25
|
+
update_file_status_response_updatefilestatus = cls()
|
|
29
26
|
|
|
30
|
-
|
|
31
|
-
return
|
|
27
|
+
update_file_status_response_updatefilestatus.additional_properties = d
|
|
28
|
+
return update_file_status_response_updatefilestatus
|
|
32
29
|
|
|
33
30
|
@property
|
|
34
31
|
def additional_keys(self) -> list[str]:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: robosystems-client
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.4
|
|
4
4
|
Summary: Python Client for RoboSystems financial graph database API
|
|
5
5
|
Author: RFS LLC
|
|
6
6
|
License: MIT
|
|
@@ -35,9 +35,9 @@ Provides-Extra: all
|
|
|
35
35
|
Requires-Dist: pandas>=1.5.0; extra == 'all'
|
|
36
36
|
Requires-Dist: pyarrow>=10.0.0; extra == 'all'
|
|
37
37
|
Provides-Extra: dev
|
|
38
|
+
Requires-Dist: basedpyright>=1.21.0; extra == 'dev'
|
|
38
39
|
Requires-Dist: build>=1.0.0; extra == 'dev'
|
|
39
40
|
Requires-Dist: openapi-python-client>=0.21.8; extra == 'dev'
|
|
40
|
-
Requires-Dist: pyright>=1.1.402; extra == 'dev'
|
|
41
41
|
Requires-Dist: pytest-asyncio>=0.26.0; extra == 'dev'
|
|
42
42
|
Requires-Dist: pytest-httpx>=0.30.0; extra == 'dev'
|
|
43
43
|
Requires-Dist: pytest>=8.3.5; extra == 'dev'
|
|
@@ -80,8 +80,6 @@ pip install robosystems-client[tables]
|
|
|
80
80
|
pip install robosystems-client[all]
|
|
81
81
|
```
|
|
82
82
|
|
|
83
|
-
See the [examples](./examples) directory for usage guides.
|
|
84
|
-
|
|
85
83
|
## API Reference
|
|
86
84
|
|
|
87
85
|
- [API reference](https://api.robosystems.ai)
|