athena-intelligence 0.1.202__tar.gz → 0.1.272__tar.gz

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 (165) hide show
  1. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/PKG-INFO +1 -1
  2. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/pyproject.toml +1 -1
  3. athena_intelligence-0.1.272/src/athena/__init__.py +312 -0
  4. athena_intelligence-0.1.272/src/athena/agents/__init__.py +39 -0
  5. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/agents/client.py +81 -18
  6. athena_intelligence-0.1.272/src/athena/aop/client.py +201 -0
  7. athena_intelligence-0.1.272/src/athena/aop/raw_client.py +432 -0
  8. athena_intelligence-0.1.272/src/athena/assets/client.py +501 -0
  9. athena_intelligence-0.1.272/src/athena/assets/raw_client.py +726 -0
  10. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/base_client.py +118 -12
  11. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/client.py +14 -8
  12. athena_intelligence-0.1.272/src/athena/core/__init__.py +105 -0
  13. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/core/client_wrapper.py +2 -2
  14. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/core/force_multipart.py +4 -2
  15. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/core/http_response.py +1 -1
  16. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/core/pydantic_utilities.py +5 -2
  17. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/environment.py +1 -0
  18. athena_intelligence-0.1.272/src/athena/errors/__init__.py +56 -0
  19. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/errors/bad_request_error.py +1 -2
  20. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/errors/not_found_error.py +1 -2
  21. athena_intelligence-0.1.272/src/athena/query/__init__.py +34 -0
  22. athena_intelligence-0.1.272/src/athena/query/types/__init__.py +36 -0
  23. athena_intelligence-0.1.272/src/athena/threads/client.py +114 -0
  24. athena_intelligence-0.1.272/src/athena/threads/raw_client.py +192 -0
  25. athena_intelligence-0.1.272/src/athena/tools/__init__.py +52 -0
  26. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/tools/client.py +157 -26
  27. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/tools/raw_client.py +32 -34
  28. athena_intelligence-0.1.272/src/athena/tools/sheets/__init__.py +34 -0
  29. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/tools/sheets/client.py +293 -96
  30. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/tools/sheets/raw_client.py +362 -74
  31. athena_intelligence-0.1.272/src/athena/tools/sheets/types/__init__.py +36 -0
  32. athena_intelligence-0.1.272/src/athena/tools/sheets/types/update_sheet_range_request_values_item_item.py +5 -0
  33. athena_intelligence-0.1.272/src/athena/tools/tasks/__init__.py +4 -0
  34. athena_intelligence-0.1.272/src/athena/tools/types/__init__.py +34 -0
  35. athena_intelligence-0.1.272/src/athena/types/__init__.py +257 -0
  36. athena_intelligence-0.1.272/src/athena/types/aop_async_execute_response_out.py +71 -0
  37. athena_intelligence-0.1.272/src/athena/types/aop_execute_request_in.py +31 -0
  38. athena_intelligence-0.1.272/src/athena/types/aop_execute_response_out.py +77 -0
  39. athena_intelligence-0.1.272/src/athena/types/backgroundcolor.py +7 -0
  40. athena_intelligence-0.1.272/src/athena/types/border_model.py +27 -0
  41. athena_intelligence-0.1.272/src/athena/types/border_style.py +7 -0
  42. athena_intelligence-0.1.272/src/athena/types/borders_model.py +58 -0
  43. athena_intelligence-0.1.272/src/athena/types/cell_format.py +49 -0
  44. athena_intelligence-0.1.272/src/athena/types/cell_format_horizontal_alignment.py +5 -0
  45. athena_intelligence-0.1.272/src/athena/types/cell_format_vertical_alignment.py +5 -0
  46. athena_intelligence-0.1.272/src/athena/types/color.py +7 -0
  47. athena_intelligence-0.1.272/src/athena/types/conversation_asset_info.py +116 -0
  48. athena_intelligence-0.1.272/src/athena/types/conversation_message.py +42 -0
  49. athena_intelligence-0.1.272/src/athena/types/conversation_result.py +67 -0
  50. athena_intelligence-0.1.272/src/athena/types/creatable_asset_type.py +5 -0
  51. athena_intelligence-0.1.272/src/athena/types/create_asset_response_out.py +46 -0
  52. athena_intelligence-0.1.272/src/athena/types/create_project_response_out.py +51 -0
  53. athena_intelligence-0.1.272/src/athena/types/dimension_properties.py +49 -0
  54. athena_intelligence-0.1.272/src/athena/types/get_table_response.py +42 -0
  55. athena_intelligence-0.1.272/src/athena/types/grid_range.py +39 -0
  56. athena_intelligence-0.1.272/src/athena/types/number_format_model.py +28 -0
  57. athena_intelligence-0.1.272/src/athena/types/number_format_type.py +21 -0
  58. athena_intelligence-0.1.272/src/athena/types/sheet.py +76 -0
  59. athena_intelligence-0.1.272/src/athena/types/tabcolor.py +7 -0
  60. athena_intelligence-0.1.272/src/athena/types/table_row_data.py +5 -0
  61. athena_intelligence-0.1.272/src/athena/types/text_format_model.py +28 -0
  62. athena_intelligence-0.1.272/src/athena/types/textrotation.py +5 -0
  63. athena_intelligence-0.1.202/src/athena/types/parent_folder_error.py → athena_intelligence-0.1.272/src/athena/types/theme_color.py +3 -2
  64. athena_intelligence-0.1.272/src/athena/types/thread_status_response_out.py +52 -0
  65. athena_intelligence-0.1.272/src/athena/types/wrap_strategy.py +5 -0
  66. athena_intelligence-0.1.202/src/athena/__init__.py +0 -133
  67. athena_intelligence-0.1.202/src/athena/agents/__init__.py +0 -7
  68. athena_intelligence-0.1.202/src/athena/assets/client.py +0 -144
  69. athena_intelligence-0.1.202/src/athena/assets/raw_client.py +0 -164
  70. athena_intelligence-0.1.202/src/athena/core/__init__.py +0 -52
  71. athena_intelligence-0.1.202/src/athena/errors/__init__.py +0 -21
  72. athena_intelligence-0.1.202/src/athena/query/__init__.py +0 -7
  73. athena_intelligence-0.1.202/src/athena/query/types/__init__.py +0 -7
  74. athena_intelligence-0.1.202/src/athena/tools/__init__.py +0 -8
  75. athena_intelligence-0.1.202/src/athena/tools/types/__init__.py +0 -7
  76. athena_intelligence-0.1.202/src/athena/types/__init__.py +0 -99
  77. athena_intelligence-0.1.202/src/athena/types/asset_not_found_error.py +0 -19
  78. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/README.md +0 -0
  79. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/agents/drive/__init__.py +0 -0
  80. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/agents/drive/client.py +0 -0
  81. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/agents/drive/raw_client.py +0 -0
  82. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/agents/general/__init__.py +0 -0
  83. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/agents/general/client.py +0 -0
  84. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/agents/general/raw_client.py +0 -0
  85. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/agents/raw_client.py +0 -0
  86. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/agents/research/__init__.py +0 -0
  87. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/agents/research/client.py +0 -0
  88. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/agents/research/raw_client.py +0 -0
  89. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/agents/sql/__init__.py +0 -0
  90. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/agents/sql/client.py +0 -0
  91. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/agents/sql/raw_client.py +0 -0
  92. {athena_intelligence-0.1.202/src/athena/assets → athena_intelligence-0.1.272/src/athena/aop}/__init__.py +0 -0
  93. {athena_intelligence-0.1.202/src/athena/tools/calendar → athena_intelligence-0.1.272/src/athena/assets}/__init__.py +0 -0
  94. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/core/api_error.py +0 -0
  95. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/core/datetime_utils.py +0 -0
  96. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/core/file.py +0 -0
  97. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/core/http_client.py +0 -0
  98. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/core/jsonable_encoder.py +0 -0
  99. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/core/query_encoder.py +0 -0
  100. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/core/remove_none_from_dict.py +0 -0
  101. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/core/request_options.py +0 -0
  102. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/core/serialization.py +0 -0
  103. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/errors/content_too_large_error.py +0 -0
  104. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/errors/internal_server_error.py +0 -0
  105. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/errors/unauthorized_error.py +0 -0
  106. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/errors/unprocessable_entity_error.py +0 -0
  107. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/errors/unsupported_media_type_error.py +0 -0
  108. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/py.typed +0 -0
  109. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/query/client.py +0 -0
  110. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/query/raw_client.py +0 -0
  111. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/query/types/query_execute_request_database_asset_ids.py +0 -0
  112. {athena_intelligence-0.1.202/src/athena/tools/email → athena_intelligence-0.1.272/src/athena/threads}/__init__.py +0 -0
  113. {athena_intelligence-0.1.202/src/athena/tools/sheets → athena_intelligence-0.1.272/src/athena/tools/calendar}/__init__.py +0 -0
  114. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/tools/calendar/client.py +0 -0
  115. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/tools/calendar/raw_client.py +0 -0
  116. {athena_intelligence-0.1.202/src/athena/tools/structured_data_extractor → athena_intelligence-0.1.272/src/athena/tools/email}/__init__.py +0 -0
  117. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/tools/email/client.py +0 -0
  118. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/tools/email/raw_client.py +0 -0
  119. {athena_intelligence-0.1.202/src/athena/tools/tasks → athena_intelligence-0.1.272/src/athena/tools/structured_data_extractor}/__init__.py +0 -0
  120. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/tools/structured_data_extractor/client.py +0 -0
  121. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/tools/structured_data_extractor/raw_client.py +0 -0
  122. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/tools/tasks/client.py +0 -0
  123. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/tools/tasks/raw_client.py +0 -0
  124. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/tools/types/tools_data_frame_request_columns_item.py +0 -0
  125. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/asset_content_request_out.py +0 -0
  126. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/asset_node.py +0 -0
  127. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/asset_screenshot_response_out.py +0 -0
  128. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/chunk.py +0 -0
  129. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/chunk_content_item.py +0 -0
  130. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/chunk_result.py +0 -0
  131. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/chunk_result_chunk_id.py +0 -0
  132. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/content.py +0 -0
  133. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/create_new_sheet_tab_response.py +0 -0
  134. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/custom_agent_response.py +0 -0
  135. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/data_frame_request_out.py +0 -0
  136. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/data_frame_request_out_columns_item.py +0 -0
  137. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/data_frame_request_out_data_item_item.py +0 -0
  138. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/data_frame_request_out_index_item.py +0 -0
  139. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/data_frame_unknown_format_error.py +0 -0
  140. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/document_chunk.py +0 -0
  141. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/drive_agent_response.py +0 -0
  142. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/file_chunk_request_out.py +0 -0
  143. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/file_too_large_error.py +0 -0
  144. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/folder_response.py +0 -0
  145. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/general_agent_config.py +0 -0
  146. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/general_agent_config_enabled_tools_item.py +0 -0
  147. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/general_agent_request.py +0 -0
  148. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/general_agent_response.py +0 -0
  149. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/general_agent_response_message.py +0 -0
  150. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/general_agent_response_message_kwargs.py +0 -0
  151. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/id.py +0 -0
  152. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/image_url_content.py +0 -0
  153. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/input_message.py +0 -0
  154. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/input_message_content_item.py +0 -0
  155. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/paginated_assets_out.py +0 -0
  156. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/prompt_message.py +0 -0
  157. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/public_asset_out.py +0 -0
  158. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/research_agent_response.py +0 -0
  159. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/save_asset_request_out.py +0 -0
  160. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/sheet_operation_response.py +0 -0
  161. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/sql_agent_response.py +0 -0
  162. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/structured_data_extractor_response.py +0 -0
  163. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/text_content.py +0 -0
  164. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/types/type.py +0 -0
  165. {athena_intelligence-0.1.202 → athena_intelligence-0.1.272}/src/athena/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: athena-intelligence
3
- Version: 0.1.202
3
+ Version: 0.1.272
4
4
  Summary: Athena Intelligence Python Library
5
5
  Requires-Python: >=3.9,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -3,7 +3,7 @@ name = "athena-intelligence"
3
3
 
4
4
  [tool.poetry]
5
5
  name = "athena-intelligence"
6
- version = "0.1.202"
6
+ version = "0.1.272"
7
7
  description = "Athena Intelligence Python Library"
8
8
  readme = "README.md"
9
9
  authors = []
@@ -0,0 +1,312 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+
5
+ import typing
6
+ from importlib import import_module
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from .types import (
10
+ AopAsyncExecuteResponseOut,
11
+ AopExecuteRequestIn,
12
+ AopExecuteResponseOut,
13
+ AssetContentRequestOut,
14
+ AssetNode,
15
+ AssetScreenshotResponseOut,
16
+ Backgroundcolor,
17
+ BorderModel,
18
+ BorderStyle,
19
+ BordersModel,
20
+ CellFormat,
21
+ CellFormatHorizontalAlignment,
22
+ CellFormatVerticalAlignment,
23
+ Chunk,
24
+ ChunkContentItem,
25
+ ChunkContentItem_ImageUrl,
26
+ ChunkContentItem_Text,
27
+ ChunkResult,
28
+ ChunkResultChunkId,
29
+ Color,
30
+ Content,
31
+ ConversationAssetInfo,
32
+ ConversationMessage,
33
+ ConversationResult,
34
+ CreatableAssetType,
35
+ CreateAssetResponseOut,
36
+ CreateNewSheetTabResponse,
37
+ CreateProjectResponseOut,
38
+ CustomAgentResponse,
39
+ DataFrameRequestOut,
40
+ DataFrameRequestOutColumnsItem,
41
+ DataFrameRequestOutDataItemItem,
42
+ DataFrameRequestOutIndexItem,
43
+ DataFrameUnknownFormatError,
44
+ DimensionProperties,
45
+ DocumentChunk,
46
+ DriveAgentResponse,
47
+ FileChunkRequestOut,
48
+ FileTooLargeError,
49
+ FolderResponse,
50
+ GeneralAgentConfig,
51
+ GeneralAgentConfigEnabledToolsItem,
52
+ GeneralAgentRequest,
53
+ GeneralAgentResponse,
54
+ GeneralAgentResponseMessage,
55
+ GeneralAgentResponseMessageKwargs,
56
+ GetTableResponse,
57
+ GridRange,
58
+ Id,
59
+ ImageUrlContent,
60
+ InputMessage,
61
+ InputMessageContentItem,
62
+ InputMessageContentItem_ImageUrl,
63
+ InputMessageContentItem_Text,
64
+ NumberFormatModel,
65
+ NumberFormatType,
66
+ PaginatedAssetsOut,
67
+ PromptMessage,
68
+ PublicAssetOut,
69
+ ResearchAgentResponse,
70
+ SaveAssetRequestOut,
71
+ Sheet,
72
+ SheetOperationResponse,
73
+ SqlAgentResponse,
74
+ StructuredDataExtractorResponse,
75
+ Tabcolor,
76
+ TableRowData,
77
+ TextContent,
78
+ TextFormatModel,
79
+ Textrotation,
80
+ ThemeColor,
81
+ ThreadStatusResponseOut,
82
+ Type,
83
+ WrapStrategy,
84
+ )
85
+ from .errors import (
86
+ BadRequestError,
87
+ ContentTooLargeError,
88
+ InternalServerError,
89
+ NotFoundError,
90
+ UnauthorizedError,
91
+ UnprocessableEntityError,
92
+ UnsupportedMediaTypeError,
93
+ )
94
+ from . import agents, aop, assets, query, threads, tools
95
+ from .client import AsyncAthena, Athena
96
+ from .environment import AthenaEnvironment
97
+ from .query import QueryExecuteRequestDatabaseAssetIds
98
+ from .tools import ToolsDataFrameRequestColumnsItem
99
+ from .version import __version__
100
+ _dynamic_imports: typing.Dict[str, str] = {
101
+ "AopAsyncExecuteResponseOut": ".types",
102
+ "AopExecuteRequestIn": ".types",
103
+ "AopExecuteResponseOut": ".types",
104
+ "AssetContentRequestOut": ".types",
105
+ "AssetNode": ".types",
106
+ "AssetScreenshotResponseOut": ".types",
107
+ "AsyncAthena": ".client",
108
+ "Athena": ".client",
109
+ "AthenaEnvironment": ".environment",
110
+ "Backgroundcolor": ".types",
111
+ "BadRequestError": ".errors",
112
+ "BorderModel": ".types",
113
+ "BorderStyle": ".types",
114
+ "BordersModel": ".types",
115
+ "CellFormat": ".types",
116
+ "CellFormatHorizontalAlignment": ".types",
117
+ "CellFormatVerticalAlignment": ".types",
118
+ "Chunk": ".types",
119
+ "ChunkContentItem": ".types",
120
+ "ChunkContentItem_ImageUrl": ".types",
121
+ "ChunkContentItem_Text": ".types",
122
+ "ChunkResult": ".types",
123
+ "ChunkResultChunkId": ".types",
124
+ "Color": ".types",
125
+ "Content": ".types",
126
+ "ContentTooLargeError": ".errors",
127
+ "ConversationAssetInfo": ".types",
128
+ "ConversationMessage": ".types",
129
+ "ConversationResult": ".types",
130
+ "CreatableAssetType": ".types",
131
+ "CreateAssetResponseOut": ".types",
132
+ "CreateNewSheetTabResponse": ".types",
133
+ "CreateProjectResponseOut": ".types",
134
+ "CustomAgentResponse": ".types",
135
+ "DataFrameRequestOut": ".types",
136
+ "DataFrameRequestOutColumnsItem": ".types",
137
+ "DataFrameRequestOutDataItemItem": ".types",
138
+ "DataFrameRequestOutIndexItem": ".types",
139
+ "DataFrameUnknownFormatError": ".types",
140
+ "DimensionProperties": ".types",
141
+ "DocumentChunk": ".types",
142
+ "DriveAgentResponse": ".types",
143
+ "FileChunkRequestOut": ".types",
144
+ "FileTooLargeError": ".types",
145
+ "FolderResponse": ".types",
146
+ "GeneralAgentConfig": ".types",
147
+ "GeneralAgentConfigEnabledToolsItem": ".types",
148
+ "GeneralAgentRequest": ".types",
149
+ "GeneralAgentResponse": ".types",
150
+ "GeneralAgentResponseMessage": ".types",
151
+ "GeneralAgentResponseMessageKwargs": ".types",
152
+ "GetTableResponse": ".types",
153
+ "GridRange": ".types",
154
+ "Id": ".types",
155
+ "ImageUrlContent": ".types",
156
+ "InputMessage": ".types",
157
+ "InputMessageContentItem": ".types",
158
+ "InputMessageContentItem_ImageUrl": ".types",
159
+ "InputMessageContentItem_Text": ".types",
160
+ "InternalServerError": ".errors",
161
+ "NotFoundError": ".errors",
162
+ "NumberFormatModel": ".types",
163
+ "NumberFormatType": ".types",
164
+ "PaginatedAssetsOut": ".types",
165
+ "PromptMessage": ".types",
166
+ "PublicAssetOut": ".types",
167
+ "QueryExecuteRequestDatabaseAssetIds": ".query",
168
+ "ResearchAgentResponse": ".types",
169
+ "SaveAssetRequestOut": ".types",
170
+ "Sheet": ".types",
171
+ "SheetOperationResponse": ".types",
172
+ "SqlAgentResponse": ".types",
173
+ "StructuredDataExtractorResponse": ".types",
174
+ "Tabcolor": ".types",
175
+ "TableRowData": ".types",
176
+ "TextContent": ".types",
177
+ "TextFormatModel": ".types",
178
+ "Textrotation": ".types",
179
+ "ThemeColor": ".types",
180
+ "ThreadStatusResponseOut": ".types",
181
+ "ToolsDataFrameRequestColumnsItem": ".tools",
182
+ "Type": ".types",
183
+ "UnauthorizedError": ".errors",
184
+ "UnprocessableEntityError": ".errors",
185
+ "UnsupportedMediaTypeError": ".errors",
186
+ "WrapStrategy": ".types",
187
+ "__version__": ".version",
188
+ "agents": ".agents",
189
+ "aop": ".aop",
190
+ "assets": ".assets",
191
+ "query": ".query",
192
+ "threads": ".threads",
193
+ "tools": ".tools",
194
+ }
195
+
196
+
197
+ def __getattr__(attr_name: str) -> typing.Any:
198
+ module_name = _dynamic_imports.get(attr_name)
199
+ if module_name is None:
200
+ raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
201
+ try:
202
+ module = import_module(module_name, __package__)
203
+ if module_name == f".{attr_name}":
204
+ return module
205
+ else:
206
+ return getattr(module, attr_name)
207
+ except ImportError as e:
208
+ raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
209
+ except AttributeError as e:
210
+ raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
211
+
212
+
213
+ def __dir__():
214
+ lazy_attrs = list(_dynamic_imports.keys())
215
+ return sorted(lazy_attrs)
216
+
217
+
218
+ __all__ = [
219
+ "AopAsyncExecuteResponseOut",
220
+ "AopExecuteRequestIn",
221
+ "AopExecuteResponseOut",
222
+ "AssetContentRequestOut",
223
+ "AssetNode",
224
+ "AssetScreenshotResponseOut",
225
+ "AsyncAthena",
226
+ "Athena",
227
+ "AthenaEnvironment",
228
+ "Backgroundcolor",
229
+ "BadRequestError",
230
+ "BorderModel",
231
+ "BorderStyle",
232
+ "BordersModel",
233
+ "CellFormat",
234
+ "CellFormatHorizontalAlignment",
235
+ "CellFormatVerticalAlignment",
236
+ "Chunk",
237
+ "ChunkContentItem",
238
+ "ChunkContentItem_ImageUrl",
239
+ "ChunkContentItem_Text",
240
+ "ChunkResult",
241
+ "ChunkResultChunkId",
242
+ "Color",
243
+ "Content",
244
+ "ContentTooLargeError",
245
+ "ConversationAssetInfo",
246
+ "ConversationMessage",
247
+ "ConversationResult",
248
+ "CreatableAssetType",
249
+ "CreateAssetResponseOut",
250
+ "CreateNewSheetTabResponse",
251
+ "CreateProjectResponseOut",
252
+ "CustomAgentResponse",
253
+ "DataFrameRequestOut",
254
+ "DataFrameRequestOutColumnsItem",
255
+ "DataFrameRequestOutDataItemItem",
256
+ "DataFrameRequestOutIndexItem",
257
+ "DataFrameUnknownFormatError",
258
+ "DimensionProperties",
259
+ "DocumentChunk",
260
+ "DriveAgentResponse",
261
+ "FileChunkRequestOut",
262
+ "FileTooLargeError",
263
+ "FolderResponse",
264
+ "GeneralAgentConfig",
265
+ "GeneralAgentConfigEnabledToolsItem",
266
+ "GeneralAgentRequest",
267
+ "GeneralAgentResponse",
268
+ "GeneralAgentResponseMessage",
269
+ "GeneralAgentResponseMessageKwargs",
270
+ "GetTableResponse",
271
+ "GridRange",
272
+ "Id",
273
+ "ImageUrlContent",
274
+ "InputMessage",
275
+ "InputMessageContentItem",
276
+ "InputMessageContentItem_ImageUrl",
277
+ "InputMessageContentItem_Text",
278
+ "InternalServerError",
279
+ "NotFoundError",
280
+ "NumberFormatModel",
281
+ "NumberFormatType",
282
+ "PaginatedAssetsOut",
283
+ "PromptMessage",
284
+ "PublicAssetOut",
285
+ "QueryExecuteRequestDatabaseAssetIds",
286
+ "ResearchAgentResponse",
287
+ "SaveAssetRequestOut",
288
+ "Sheet",
289
+ "SheetOperationResponse",
290
+ "SqlAgentResponse",
291
+ "StructuredDataExtractorResponse",
292
+ "Tabcolor",
293
+ "TableRowData",
294
+ "TextContent",
295
+ "TextFormatModel",
296
+ "Textrotation",
297
+ "ThemeColor",
298
+ "ThreadStatusResponseOut",
299
+ "ToolsDataFrameRequestColumnsItem",
300
+ "Type",
301
+ "UnauthorizedError",
302
+ "UnprocessableEntityError",
303
+ "UnsupportedMediaTypeError",
304
+ "WrapStrategy",
305
+ "__version__",
306
+ "agents",
307
+ "aop",
308
+ "assets",
309
+ "query",
310
+ "threads",
311
+ "tools",
312
+ ]
@@ -0,0 +1,39 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+
5
+ import typing
6
+ from importlib import import_module
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from . import drive, general, research, sql
10
+ _dynamic_imports: typing.Dict[str, str] = {
11
+ "drive": ".drive",
12
+ "general": ".general",
13
+ "research": ".research",
14
+ "sql": ".sql",
15
+ }
16
+
17
+
18
+ def __getattr__(attr_name: str) -> typing.Any:
19
+ module_name = _dynamic_imports.get(attr_name)
20
+ if module_name is None:
21
+ raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
22
+ try:
23
+ module = import_module(module_name, __package__)
24
+ if module_name == f".{attr_name}":
25
+ return module
26
+ else:
27
+ return getattr(module, attr_name)
28
+ except ImportError as e:
29
+ raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
30
+ except AttributeError as e:
31
+ raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
32
+
33
+
34
+ def __dir__():
35
+ lazy_attrs = list(_dynamic_imports.keys())
36
+ return sorted(lazy_attrs)
37
+
38
+
39
+ __all__ = ["drive", "general", "research", "sql"]
@@ -1,16 +1,19 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ from __future__ import annotations
4
+
3
5
  import typing
4
6
 
5
7
  from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
8
  from ..core.request_options import RequestOptions
7
9
  from ..types.custom_agent_response import CustomAgentResponse
8
- from .drive.client import AsyncDriveClient, DriveClient
9
- from .general.client import AsyncGeneralClient, GeneralClient
10
10
  from .raw_client import AsyncRawAgentsClient, RawAgentsClient
11
- from .research.client import AsyncResearchClient, ResearchClient
12
- from .sql.client import AsyncSqlClient, SqlClient
13
11
 
12
+ if typing.TYPE_CHECKING:
13
+ from .drive.client import AsyncDriveClient, DriveClient
14
+ from .general.client import AsyncGeneralClient, GeneralClient
15
+ from .research.client import AsyncResearchClient, ResearchClient
16
+ from .sql.client import AsyncSqlClient, SqlClient
14
17
  # this is used as the default value for optional parameters
15
18
  OMIT = typing.cast(typing.Any, ...)
16
19
 
@@ -18,13 +21,11 @@ OMIT = typing.cast(typing.Any, ...)
18
21
  class AgentsClient:
19
22
  def __init__(self, *, client_wrapper: SyncClientWrapper):
20
23
  self._raw_client = RawAgentsClient(client_wrapper=client_wrapper)
21
- self.drive = DriveClient(client_wrapper=client_wrapper)
22
-
23
- self.general = GeneralClient(client_wrapper=client_wrapper)
24
-
25
- self.research = ResearchClient(client_wrapper=client_wrapper)
26
-
27
- self.sql = SqlClient(client_wrapper=client_wrapper)
24
+ self._client_wrapper = client_wrapper
25
+ self._drive: typing.Optional[DriveClient] = None
26
+ self._general: typing.Optional[GeneralClient] = None
27
+ self._research: typing.Optional[ResearchClient] = None
28
+ self._sql: typing.Optional[SqlClient] = None
28
29
 
29
30
  @property
30
31
  def with_raw_response(self) -> RawAgentsClient:
@@ -91,17 +92,47 @@ class AgentsClient:
91
92
  )
92
93
  return _response.data
93
94
 
95
+ @property
96
+ def drive(self):
97
+ if self._drive is None:
98
+ from .drive.client import DriveClient # noqa: E402
94
99
 
95
- class AsyncAgentsClient:
96
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
97
- self._raw_client = AsyncRawAgentsClient(client_wrapper=client_wrapper)
98
- self.drive = AsyncDriveClient(client_wrapper=client_wrapper)
100
+ self._drive = DriveClient(client_wrapper=self._client_wrapper)
101
+ return self._drive
99
102
 
100
- self.general = AsyncGeneralClient(client_wrapper=client_wrapper)
103
+ @property
104
+ def general(self):
105
+ if self._general is None:
106
+ from .general.client import GeneralClient # noqa: E402
107
+
108
+ self._general = GeneralClient(client_wrapper=self._client_wrapper)
109
+ return self._general
101
110
 
102
- self.research = AsyncResearchClient(client_wrapper=client_wrapper)
111
+ @property
112
+ def research(self):
113
+ if self._research is None:
114
+ from .research.client import ResearchClient # noqa: E402
103
115
 
104
- self.sql = AsyncSqlClient(client_wrapper=client_wrapper)
116
+ self._research = ResearchClient(client_wrapper=self._client_wrapper)
117
+ return self._research
118
+
119
+ @property
120
+ def sql(self):
121
+ if self._sql is None:
122
+ from .sql.client import SqlClient # noqa: E402
123
+
124
+ self._sql = SqlClient(client_wrapper=self._client_wrapper)
125
+ return self._sql
126
+
127
+
128
+ class AsyncAgentsClient:
129
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
130
+ self._raw_client = AsyncRawAgentsClient(client_wrapper=client_wrapper)
131
+ self._client_wrapper = client_wrapper
132
+ self._drive: typing.Optional[AsyncDriveClient] = None
133
+ self._general: typing.Optional[AsyncGeneralClient] = None
134
+ self._research: typing.Optional[AsyncResearchClient] = None
135
+ self._sql: typing.Optional[AsyncSqlClient] = None
105
136
 
106
137
  @property
107
138
  def with_raw_response(self) -> AsyncRawAgentsClient:
@@ -175,3 +206,35 @@ class AsyncAgentsClient:
175
206
  agent_id, config=config, messages=messages, request_options=request_options
176
207
  )
177
208
  return _response.data
209
+
210
+ @property
211
+ def drive(self):
212
+ if self._drive is None:
213
+ from .drive.client import AsyncDriveClient # noqa: E402
214
+
215
+ self._drive = AsyncDriveClient(client_wrapper=self._client_wrapper)
216
+ return self._drive
217
+
218
+ @property
219
+ def general(self):
220
+ if self._general is None:
221
+ from .general.client import AsyncGeneralClient # noqa: E402
222
+
223
+ self._general = AsyncGeneralClient(client_wrapper=self._client_wrapper)
224
+ return self._general
225
+
226
+ @property
227
+ def research(self):
228
+ if self._research is None:
229
+ from .research.client import AsyncResearchClient # noqa: E402
230
+
231
+ self._research = AsyncResearchClient(client_wrapper=self._client_wrapper)
232
+ return self._research
233
+
234
+ @property
235
+ def sql(self):
236
+ if self._sql is None:
237
+ from .sql.client import AsyncSqlClient # noqa: E402
238
+
239
+ self._sql = AsyncSqlClient(client_wrapper=self._client_wrapper)
240
+ return self._sql