athena-intelligence 0.1.231__tar.gz → 0.1.242__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.

Potentially problematic release.


This version of athena-intelligence might be problematic. Click here for more details.

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