robosystems-client 0.1.15__py3-none-any.whl → 0.1.17__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 (130) hide show
  1. robosystems_client/api/agent/auto_select_agent.py +246 -0
  2. robosystems_client/api/agent/batch_process_queries.py +261 -0
  3. robosystems_client/api/agent/execute_specific_agent.py +258 -0
  4. robosystems_client/api/agent/get_agent_metadata.py +238 -0
  5. robosystems_client/api/agent/list_agents.py +246 -0
  6. robosystems_client/api/agent/recommend_agent.py +255 -0
  7. robosystems_client/api/auth/forgot_password.py +191 -0
  8. robosystems_client/api/auth/generate_sso_token.py +18 -0
  9. robosystems_client/api/auth/get_current_auth_user.py +4 -22
  10. robosystems_client/api/auth/logout_user.py +17 -17
  11. robosystems_client/api/auth/{refresh_session.py → refresh_auth_session.py} +21 -21
  12. robosystems_client/api/auth/resend_verification_email.py +222 -0
  13. robosystems_client/api/auth/reset_password.py +177 -0
  14. robosystems_client/api/auth/validate_reset_token.py +171 -0
  15. robosystems_client/api/auth/verify_email.py +177 -0
  16. robosystems_client/api/backup/create_backup.py +0 -18
  17. robosystems_client/api/backup/export_backup.py +0 -18
  18. robosystems_client/api/backup/get_backup_download_url.py +0 -18
  19. robosystems_client/api/backup/get_backup_stats.py +0 -18
  20. robosystems_client/api/backup/list_backups.py +0 -18
  21. robosystems_client/api/backup/restore_backup.py +0 -18
  22. robosystems_client/api/connections/create_connection.py +0 -18
  23. robosystems_client/api/connections/create_link_token.py +0 -18
  24. robosystems_client/api/connections/delete_connection.py +0 -18
  25. robosystems_client/api/connections/exchange_link_token.py +0 -18
  26. robosystems_client/api/connections/get_connection.py +0 -18
  27. robosystems_client/api/connections/get_connection_options.py +0 -18
  28. robosystems_client/api/connections/init_o_auth.py +0 -18
  29. robosystems_client/api/connections/list_connections.py +0 -18
  30. robosystems_client/api/connections/oauth_callback.py +4 -22
  31. robosystems_client/api/connections/sync_connection.py +0 -18
  32. robosystems_client/api/copy/copy_data_to_graph.py +0 -18
  33. robosystems_client/api/create/create_graph.py +0 -18
  34. robosystems_client/api/graph_analytics/get_graph_metrics.py +0 -18
  35. robosystems_client/api/graph_analytics/get_graph_usage_stats.py +0 -18
  36. robosystems_client/api/graph_billing/get_current_graph_bill.py +0 -18
  37. robosystems_client/api/graph_billing/get_graph_billing_history.py +0 -18
  38. robosystems_client/api/graph_billing/get_graph_monthly_bill.py +0 -18
  39. robosystems_client/api/graph_billing/get_graph_usage_details.py +0 -18
  40. robosystems_client/api/graph_credits/check_credit_balance.py +14 -28
  41. robosystems_client/api/graph_credits/check_storage_limits.py +0 -18
  42. robosystems_client/api/graph_credits/get_credit_summary.py +0 -18
  43. robosystems_client/api/graph_credits/get_storage_usage.py +0 -18
  44. robosystems_client/api/graph_credits/list_credit_transactions.py +0 -18
  45. robosystems_client/api/graph_health/get_database_health.py +0 -18
  46. robosystems_client/api/graph_info/get_database_info.py +0 -18
  47. robosystems_client/api/graph_limits/get_graph_limits.py +0 -18
  48. robosystems_client/api/mcp/call_mcp_tool.py +0 -18
  49. robosystems_client/api/mcp/list_mcp_tools.py +0 -18
  50. robosystems_client/api/operations/cancel_operation.py +0 -18
  51. robosystems_client/api/operations/get_operation_status.py +0 -18
  52. robosystems_client/api/operations/stream_operation_events.py +0 -18
  53. robosystems_client/api/query/execute_cypher_query.py +0 -18
  54. robosystems_client/api/schema/export_graph_schema.py +0 -18
  55. robosystems_client/api/schema/get_graph_schema_info.py +0 -18
  56. robosystems_client/api/schema/list_schema_extensions.py +0 -18
  57. robosystems_client/api/schema/validate_schema.py +0 -18
  58. robosystems_client/api/subgraphs/create_subgraph.py +0 -18
  59. robosystems_client/api/subgraphs/delete_subgraph.py +0 -18
  60. robosystems_client/api/subgraphs/get_subgraph_info.py +0 -18
  61. robosystems_client/api/subgraphs/get_subgraph_quota.py +0 -18
  62. robosystems_client/api/subgraphs/list_subgraphs.py +0 -18
  63. robosystems_client/api/user/create_user_api_key.py +0 -18
  64. robosystems_client/api/user/get_all_credit_summaries.py +0 -18
  65. robosystems_client/api/user/get_current_user.py +0 -18
  66. robosystems_client/api/user/get_user_graphs.py +0 -18
  67. robosystems_client/api/user/list_user_api_keys.py +0 -18
  68. robosystems_client/api/user/revoke_user_api_key.py +0 -18
  69. robosystems_client/api/user/select_user_graph.py +0 -18
  70. robosystems_client/api/user/update_user.py +0 -18
  71. robosystems_client/api/user/update_user_api_key.py +0 -18
  72. robosystems_client/api/user/update_user_password.py +0 -18
  73. robosystems_client/api/user_analytics/get_detailed_user_analytics.py +0 -18
  74. robosystems_client/api/user_analytics/get_user_usage_overview.py +0 -18
  75. robosystems_client/api/user_limits/get_all_shared_repository_limits.py +0 -18
  76. robosystems_client/api/user_limits/get_shared_repository_limits.py +0 -18
  77. robosystems_client/api/user_limits/get_user_limits.py +0 -18
  78. robosystems_client/api/user_limits/get_user_usage.py +0 -18
  79. robosystems_client/api/user_subscriptions/cancel_shared_repository_subscription.py +0 -18
  80. robosystems_client/api/user_subscriptions/get_repository_credits.py +0 -18
  81. robosystems_client/api/user_subscriptions/get_shared_repository_credits.py +0 -18
  82. robosystems_client/api/user_subscriptions/get_user_shared_subscriptions.py +0 -18
  83. robosystems_client/api/user_subscriptions/subscribe_to_shared_repository.py +0 -18
  84. robosystems_client/api/user_subscriptions/upgrade_shared_repository_subscription.py +0 -18
  85. robosystems_client/models/__init__.py +51 -3
  86. robosystems_client/models/agent_list_response.py +74 -0
  87. robosystems_client/models/agent_list_response_agents.py +67 -0
  88. robosystems_client/models/{credits_summary_response_credits_by_addon_item.py → agent_list_response_agents_additional_property.py} +5 -5
  89. robosystems_client/models/agent_message.py +35 -1
  90. robosystems_client/models/agent_metadata_response.py +133 -0
  91. robosystems_client/models/agent_mode.py +11 -0
  92. robosystems_client/models/agent_recommendation.py +106 -0
  93. robosystems_client/models/agent_recommendation_request.py +108 -0
  94. robosystems_client/models/agent_recommendation_request_context_type_0.py +44 -0
  95. robosystems_client/models/agent_recommendation_response.py +82 -0
  96. robosystems_client/models/agent_request.py +110 -6
  97. robosystems_client/models/agent_response.py +161 -11
  98. robosystems_client/models/agent_response_error_details_type_0.py +44 -0
  99. robosystems_client/models/agent_response_tokens_used_type_0.py +44 -0
  100. robosystems_client/models/auth_response.py +20 -6
  101. robosystems_client/models/batch_agent_request.py +85 -0
  102. robosystems_client/models/batch_agent_response.py +90 -0
  103. robosystems_client/models/credit_summary.py +35 -9
  104. robosystems_client/models/credits_summary_response.py +47 -21
  105. robosystems_client/models/credits_summary_response_credits_by_addon_type_0_item.py +44 -0
  106. robosystems_client/models/custom_schema_definition.py +7 -14
  107. robosystems_client/models/custom_schema_definition_metadata.py +1 -6
  108. robosystems_client/models/database_health_response.py +11 -11
  109. robosystems_client/models/database_info_response.py +13 -14
  110. robosystems_client/models/email_verification_request.py +60 -0
  111. robosystems_client/models/error_response.py +4 -8
  112. robosystems_client/models/forgot_password_request.py +60 -0
  113. robosystems_client/models/forgot_password_response_forgotpassword.py +44 -0
  114. robosystems_client/models/graph_metadata.py +4 -5
  115. robosystems_client/models/health_status.py +2 -2
  116. robosystems_client/models/repository_credits_response.py +43 -16
  117. robosystems_client/models/resend_verification_email_response_resendverificationemail.py +44 -0
  118. robosystems_client/models/reset_password_request.py +68 -0
  119. robosystems_client/models/reset_password_validate_response.py +82 -0
  120. robosystems_client/models/schema_export_response.py +5 -8
  121. robosystems_client/models/schema_validation_request.py +3 -5
  122. robosystems_client/models/schema_validation_response.py +5 -5
  123. robosystems_client/models/selection_criteria.py +122 -0
  124. robosystems_client/models/success_response.py +1 -1
  125. robosystems_client-0.1.17.dist-info/METADATA +89 -0
  126. {robosystems_client-0.1.15.dist-info → robosystems_client-0.1.17.dist-info}/RECORD +128 -97
  127. robosystems_client-0.1.17.dist-info/licenses/LICENSE +21 -0
  128. robosystems_client/api/agent/query_financial_agent.py +0 -423
  129. robosystems_client-0.1.15.dist-info/METADATA +0 -302
  130. {robosystems_client-0.1.15.dist-info → robosystems_client-0.1.17.dist-info}/WHEEL +0 -0
@@ -0,0 +1,68 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ T = TypeVar("T", bound="ResetPasswordRequest")
8
+
9
+
10
+ @_attrs_define
11
+ class ResetPasswordRequest:
12
+ """Reset password request model.
13
+
14
+ Attributes:
15
+ token (str): Password reset token from email link
16
+ new_password (str): New password (must meet security requirements)
17
+ """
18
+
19
+ token: str
20
+ new_password: str
21
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> dict[str, Any]:
24
+ token = self.token
25
+
26
+ new_password = self.new_password
27
+
28
+ field_dict: dict[str, Any] = {}
29
+ field_dict.update(self.additional_properties)
30
+ field_dict.update(
31
+ {
32
+ "token": token,
33
+ "new_password": new_password,
34
+ }
35
+ )
36
+
37
+ return field_dict
38
+
39
+ @classmethod
40
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
41
+ d = dict(src_dict)
42
+ token = d.pop("token")
43
+
44
+ new_password = d.pop("new_password")
45
+
46
+ reset_password_request = cls(
47
+ token=token,
48
+ new_password=new_password,
49
+ )
50
+
51
+ reset_password_request.additional_properties = d
52
+ return reset_password_request
53
+
54
+ @property
55
+ def additional_keys(self) -> list[str]:
56
+ return list(self.additional_properties.keys())
57
+
58
+ def __getitem__(self, key: str) -> Any:
59
+ return self.additional_properties[key]
60
+
61
+ def __setitem__(self, key: str, value: Any) -> None:
62
+ self.additional_properties[key] = value
63
+
64
+ def __delitem__(self, key: str) -> None:
65
+ del self.additional_properties[key]
66
+
67
+ def __contains__(self, key: str) -> bool:
68
+ return key in self.additional_properties
@@ -0,0 +1,82 @@
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="ResetPasswordValidateResponse")
10
+
11
+
12
+ @_attrs_define
13
+ class ResetPasswordValidateResponse:
14
+ """Password reset token validation response model.
15
+
16
+ Attributes:
17
+ valid (bool): Whether the token is valid
18
+ email (Union[None, Unset, str]): Masked email address if token is valid
19
+ """
20
+
21
+ valid: bool
22
+ email: Union[None, Unset, str] = UNSET
23
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> dict[str, Any]:
26
+ valid = self.valid
27
+
28
+ email: Union[None, Unset, str]
29
+ if isinstance(self.email, Unset):
30
+ email = UNSET
31
+ else:
32
+ email = self.email
33
+
34
+ field_dict: dict[str, Any] = {}
35
+ field_dict.update(self.additional_properties)
36
+ field_dict.update(
37
+ {
38
+ "valid": valid,
39
+ }
40
+ )
41
+ if email is not UNSET:
42
+ field_dict["email"] = email
43
+
44
+ return field_dict
45
+
46
+ @classmethod
47
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
48
+ d = dict(src_dict)
49
+ valid = d.pop("valid")
50
+
51
+ def _parse_email(data: object) -> Union[None, Unset, str]:
52
+ if data is None:
53
+ return data
54
+ if isinstance(data, Unset):
55
+ return data
56
+ return cast(Union[None, Unset, str], data)
57
+
58
+ email = _parse_email(d.pop("email", UNSET))
59
+
60
+ reset_password_validate_response = cls(
61
+ valid=valid,
62
+ email=email,
63
+ )
64
+
65
+ reset_password_validate_response.additional_properties = d
66
+ return reset_password_validate_response
67
+
68
+ @property
69
+ def additional_keys(self) -> list[str]:
70
+ return list(self.additional_properties.keys())
71
+
72
+ def __getitem__(self, key: str) -> Any:
73
+ return self.additional_properties[key]
74
+
75
+ def __setitem__(self, key: str, value: Any) -> None:
76
+ self.additional_properties[key] = value
77
+
78
+ def __delitem__(self, key: str) -> None:
79
+ del self.additional_properties[key]
80
+
81
+ def __contains__(self, key: str) -> bool:
82
+ return key in self.additional_properties
@@ -23,14 +23,11 @@ class SchemaExportResponse:
23
23
  """Response model for schema export.
24
24
 
25
25
  Attributes:
26
- graph_id (str): Graph ID Example: kg1a2b3c4d5.
27
- schema_definition (Union['SchemaExportResponseSchemaDefinitionType0', str]): Exported schema definition Example:
28
- {'name': 'kg1a2b3c4d5_schema', 'nodes': [{'name': 'Entity', 'properties': []}], 'relationships': [], 'version':
29
- '1.0.0'}.
30
- format_ (str): Export format used Example: json.
31
- exported_at (str): Export timestamp Example: 2024-01-15T10:30:00Z.
32
- data_stats (Union['SchemaExportResponseDataStatsType0', None, Unset]): Data statistics if requested Example:
33
- {'node_counts': {'Entity': 1, 'Report': 25}, 'total_nodes': 26}.
26
+ graph_id (str): Graph ID
27
+ schema_definition (Union['SchemaExportResponseSchemaDefinitionType0', str]): Exported schema definition
28
+ format_ (str): Export format used
29
+ exported_at (str): Export timestamp
30
+ data_stats (Union['SchemaExportResponseDataStatsType0', None, Unset]): Data statistics if requested
34
31
  """
35
32
 
36
33
  graph_id: str
@@ -21,12 +21,10 @@ class SchemaValidationRequest:
21
21
 
22
22
  Attributes:
23
23
  schema_definition (Union['SchemaValidationRequestSchemaDefinitionType0', str]): Schema definition as JSON dict
24
- or JSON/YAML string Example: {'extends': 'base', 'name': 'inventory_management', 'nodes': [{'name': 'Product',
25
- 'properties': [{'name': 'sku', 'type': 'STRING', 'is_primary_key': True}, {'name': 'name', 'type': 'STRING',
26
- 'is_required': True}]}], 'version': '1.0.0'}.
27
- format_ (Union[Unset, str]): Schema format: json, yaml, or dict Default: 'json'. Example: json.
24
+ or JSON/YAML string
25
+ format_ (Union[Unset, str]): Schema format: json, yaml, or dict Default: 'json'.
28
26
  check_compatibility (Union[None, Unset, list[str]]): List of existing schema extensions to check compatibility
29
- with Example: ['roboledger'].
27
+ with
30
28
  """
31
29
 
32
30
  schema_definition: Union["SchemaValidationRequestSchemaDefinitionType0", str]
@@ -23,14 +23,14 @@ class SchemaValidationResponse:
23
23
  """Response model for schema validation.
24
24
 
25
25
  Attributes:
26
- valid (bool): Whether the schema is valid Example: True.
27
- message (str): Validation message Example: Schema is valid with 1 warning(s).
26
+ valid (bool): Whether the schema is valid
27
+ message (str): Validation message
28
28
  errors (Union[None, Unset, list[str]]): List of validation errors
29
- warnings (Union[None, Unset, list[str]]): List of warnings Example: ['Schema has no relationships defined'].
29
+ warnings (Union[None, Unset, list[str]]): List of warnings
30
30
  stats (Union['SchemaValidationResponseStatsType0', None, Unset]): Schema statistics (nodes, relationships,
31
- properties) Example: {'nodes': 2, 'primary_keys': 2, 'relationships': 1, 'total_properties': 6}.
31
+ properties)
32
32
  compatibility (Union['SchemaValidationResponseCompatibilityType0', None, Unset]): Compatibility check results if
33
- requested Example: {'checked_extensions': ['roboledger'], 'compatible': True, 'conflicts': []}.
33
+ requested
34
34
  """
35
35
 
36
36
  valid: bool
@@ -0,0 +1,122 @@
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 ..models.agent_mode import AgentMode
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="SelectionCriteria")
11
+
12
+
13
+ @_attrs_define
14
+ class SelectionCriteria:
15
+ """Criteria for agent selection.
16
+
17
+ Attributes:
18
+ min_confidence (Union[Unset, float]): Minimum confidence score Default: 0.3.
19
+ required_capabilities (Union[Unset, list[str]]): Required agent capabilities
20
+ preferred_mode (Union[AgentMode, None, Unset]): Preferred execution mode
21
+ max_response_time (Union[Unset, float]): Maximum response time in seconds Default: 60.0.
22
+ excluded_agents (Union[Unset, list[str]]): Agents to exclude from selection
23
+ """
24
+
25
+ min_confidence: Union[Unset, float] = 0.3
26
+ required_capabilities: Union[Unset, list[str]] = UNSET
27
+ preferred_mode: Union[AgentMode, None, Unset] = UNSET
28
+ max_response_time: Union[Unset, float] = 60.0
29
+ excluded_agents: Union[Unset, list[str]] = UNSET
30
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
31
+
32
+ def to_dict(self) -> dict[str, Any]:
33
+ min_confidence = self.min_confidence
34
+
35
+ required_capabilities: Union[Unset, list[str]] = UNSET
36
+ if not isinstance(self.required_capabilities, Unset):
37
+ required_capabilities = self.required_capabilities
38
+
39
+ preferred_mode: Union[None, Unset, str]
40
+ if isinstance(self.preferred_mode, Unset):
41
+ preferred_mode = UNSET
42
+ elif isinstance(self.preferred_mode, AgentMode):
43
+ preferred_mode = self.preferred_mode.value
44
+ else:
45
+ preferred_mode = self.preferred_mode
46
+
47
+ max_response_time = self.max_response_time
48
+
49
+ excluded_agents: Union[Unset, list[str]] = UNSET
50
+ if not isinstance(self.excluded_agents, Unset):
51
+ excluded_agents = self.excluded_agents
52
+
53
+ field_dict: dict[str, Any] = {}
54
+ field_dict.update(self.additional_properties)
55
+ field_dict.update({})
56
+ if min_confidence is not UNSET:
57
+ field_dict["min_confidence"] = min_confidence
58
+ if required_capabilities is not UNSET:
59
+ field_dict["required_capabilities"] = required_capabilities
60
+ if preferred_mode is not UNSET:
61
+ field_dict["preferred_mode"] = preferred_mode
62
+ if max_response_time is not UNSET:
63
+ field_dict["max_response_time"] = max_response_time
64
+ if excluded_agents is not UNSET:
65
+ field_dict["excluded_agents"] = excluded_agents
66
+
67
+ return field_dict
68
+
69
+ @classmethod
70
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
71
+ d = dict(src_dict)
72
+ min_confidence = d.pop("min_confidence", UNSET)
73
+
74
+ required_capabilities = cast(list[str], d.pop("required_capabilities", UNSET))
75
+
76
+ def _parse_preferred_mode(data: object) -> Union[AgentMode, None, Unset]:
77
+ if data is None:
78
+ return data
79
+ if isinstance(data, Unset):
80
+ return data
81
+ try:
82
+ if not isinstance(data, str):
83
+ raise TypeError()
84
+ preferred_mode_type_0 = AgentMode(data)
85
+
86
+ return preferred_mode_type_0
87
+ except: # noqa: E722
88
+ pass
89
+ return cast(Union[AgentMode, None, Unset], data)
90
+
91
+ preferred_mode = _parse_preferred_mode(d.pop("preferred_mode", UNSET))
92
+
93
+ max_response_time = d.pop("max_response_time", UNSET)
94
+
95
+ excluded_agents = cast(list[str], d.pop("excluded_agents", UNSET))
96
+
97
+ selection_criteria = cls(
98
+ min_confidence=min_confidence,
99
+ required_capabilities=required_capabilities,
100
+ preferred_mode=preferred_mode,
101
+ max_response_time=max_response_time,
102
+ excluded_agents=excluded_agents,
103
+ )
104
+
105
+ selection_criteria.additional_properties = d
106
+ return selection_criteria
107
+
108
+ @property
109
+ def additional_keys(self) -> list[str]:
110
+ return list(self.additional_properties.keys())
111
+
112
+ def __getitem__(self, key: str) -> Any:
113
+ return self.additional_properties[key]
114
+
115
+ def __setitem__(self, key: str, value: Any) -> None:
116
+ self.additional_properties[key] = value
117
+
118
+ def __delitem__(self, key: str) -> None:
119
+ del self.additional_properties[key]
120
+
121
+ def __contains__(self, key: str) -> bool:
122
+ return key in self.additional_properties
@@ -21,7 +21,7 @@ class SuccessResponse:
21
21
  {'data': {'deleted_count': 1}, 'message': 'Resource deleted successfully', 'success': True}
22
22
 
23
23
  Attributes:
24
- message (str): Human-readable success message Example: Operation completed successfully.
24
+ message (str): Human-readable success message
25
25
  success (Union[Unset, bool]): Indicates the operation completed successfully Default: True.
26
26
  data (Union['SuccessResponseDataType0', None, Unset]): Optional additional data related to the operation
27
27
  """
@@ -0,0 +1,89 @@
1
+ Metadata-Version: 2.4
2
+ Name: robosystems-client
3
+ Version: 0.1.17
4
+ Summary: Python Client for RoboSystems financial graph database API
5
+ Author: RFS LLC
6
+ License: MIT
7
+ License-File: LICENSE
8
+ Keywords: api,client,financial,graph,kuzu,robosystems,sdk
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Framework :: AsyncIO
11
+ Classifier: Framework :: Pydantic
12
+ Classifier: Framework :: Pydantic :: 2
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Intended Audience :: Financial and Insurance Industry
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Natural Language :: English
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Topic :: Database :: Front-Ends
23
+ Classifier: Topic :: Internet :: WWW/HTTP
24
+ Classifier: Topic :: Office/Business :: Financial
25
+ Classifier: Topic :: Office/Business :: Financial :: Accounting
26
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
27
+ Classifier: Typing :: Typed
28
+ Requires-Python: >=3.10
29
+ Requires-Dist: attrs>=23.0.0
30
+ Requires-Dist: httpx>=0.28.1
31
+ Requires-Dist: pydantic>=2.11.7
32
+ Requires-Dist: python-dateutil>=2.8.0
33
+ Requires-Dist: typing-extensions>=4.0.0
34
+ Provides-Extra: all
35
+ Requires-Dist: httpx>=0.28.1; extra == 'all'
36
+ Requires-Dist: pandas>=1.5.0; extra == 'all'
37
+ Provides-Extra: dev
38
+ Requires-Dist: build>=1.0.0; extra == 'dev'
39
+ Requires-Dist: openapi-python-client>=0.21.8; extra == 'dev'
40
+ Requires-Dist: pyright>=1.1.402; extra == 'dev'
41
+ Requires-Dist: pytest-asyncio>=0.26.0; extra == 'dev'
42
+ Requires-Dist: pytest-httpx>=0.30.0; extra == 'dev'
43
+ Requires-Dist: pytest>=8.3.5; extra == 'dev'
44
+ Requires-Dist: ruff>=0.12; extra == 'dev'
45
+ Requires-Dist: twine>=5.0.0; extra == 'dev'
46
+ Provides-Extra: extensions
47
+ Requires-Dist: httpx>=0.28.1; extra == 'extensions'
48
+ Requires-Dist: pandas>=1.5.0; extra == 'extensions'
49
+ Description-Content-Type: text/markdown
50
+
51
+ # RoboSystems Python Client
52
+
53
+ [![PyPI version](https://badge.fury.io/py/robosystems-client.svg)](https://pypi.org/project/robosystems-client/)
54
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
55
+
56
+ Official Python Client for the RoboSystems Financial Knowledge Graph API. Access comprehensive financial data including accounting transactions, financial reports, and advanced graph analytics through a type-safe, async-ready Python interface.
57
+
58
+ ## Features
59
+
60
+ - **Type-safe API client** with full type hints and Pydantic models
61
+ - **Async/await support** for high-performance applications
62
+ - **Streaming support** for memory-efficient processing of large result sets
63
+ - **Financial AI Agent** integration for natural language queries
64
+ - **Comprehensive error handling** with custom exceptions
65
+
66
+ ## Installation
67
+
68
+ ```bash
69
+ pip install robosystems-client
70
+ ```
71
+
72
+ ## API Reference
73
+
74
+ - API reference: [https://api.robosystems.ai](https://api.robosystems.ai)
75
+ - API documentation: [https://api.robosystems.ai/docs](https://api.robosystems.ai/docs)
76
+ - OpenAPI specification: [https://api.robosystems.ai/openapi.json](https://api.robosystems.ai/openapi.json)
77
+
78
+ ## Support
79
+
80
+ - Issues: [Issues](https://github.com/RoboFinSystems/robosystems-python-client/issues)
81
+ - Discussions: [Discussions](https://github.com/RoboFinSystems/robosystems-python-client/discussions)
82
+ - Projects: [Projects](https://github.com/RoboFinSystems/robosystems-python-client/projects)
83
+ - Wiki: [Wiki](https://github.com/RoboFinSystems/robosystems-python-client/wiki)
84
+
85
+ ## License
86
+
87
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
88
+
89
+ MIT © 2025 RFS LLC