athena-intelligence 0.1.112__tar.gz → 0.1.114__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 (48) hide show
  1. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/PKG-INFO +1 -1
  2. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/pyproject.toml +1 -1
  3. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/client.py +22 -1
  4. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/core/client_wrapper.py +1 -1
  5. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/README.md +0 -0
  6. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/__init__.py +0 -0
  7. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/base_client.py +0 -0
  8. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/core/__init__.py +0 -0
  9. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/core/api_error.py +0 -0
  10. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/core/datetime_utils.py +0 -0
  11. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/core/file.py +0 -0
  12. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/core/http_client.py +0 -0
  13. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/core/jsonable_encoder.py +0 -0
  14. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/core/pydantic_utilities.py +0 -0
  15. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/core/query_encoder.py +0 -0
  16. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/core/remove_none_from_dict.py +0 -0
  17. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/core/request_options.py +0 -0
  18. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/environment.py +0 -0
  19. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/errors/__init__.py +0 -0
  20. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/errors/bad_request_error.py +0 -0
  21. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/errors/content_too_large_error.py +0 -0
  22. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/errors/internal_server_error.py +0 -0
  23. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/errors/not_found_error.py +0 -0
  24. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/errors/unauthorized_error.py +0 -0
  25. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/errors/unprocessable_entity_error.py +0 -0
  26. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/errors/unsupported_media_type_error.py +0 -0
  27. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/py.typed +0 -0
  28. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/query/__init__.py +0 -0
  29. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/query/client.py +0 -0
  30. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/query/types/__init__.py +0 -0
  31. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/query/types/query_execute_request_database_asset_ids.py +0 -0
  32. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/tools/__init__.py +0 -0
  33. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/tools/client.py +0 -0
  34. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/tools/types/__init__.py +0 -0
  35. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/tools/types/tools_data_frame_request_columns_item.py +0 -0
  36. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/types/__init__.py +0 -0
  37. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/types/asset_not_found_error.py +0 -0
  38. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/types/data_frame_request_out.py +0 -0
  39. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/types/data_frame_request_out_columns_item.py +0 -0
  40. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/types/data_frame_request_out_data_item_item.py +0 -0
  41. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/types/data_frame_request_out_index_item.py +0 -0
  42. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/types/data_frame_unknown_format_error.py +0 -0
  43. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/types/document_chunk.py +0 -0
  44. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/types/file_chunk_request_out.py +0 -0
  45. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/types/file_too_large_error.py +0 -0
  46. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/types/parent_folder_error.py +0 -0
  47. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/src/athena/types/save_asset_request_out.py +0 -0
  48. {athena_intelligence-0.1.112 → athena_intelligence-0.1.114}/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.112
3
+ Version: 0.1.114
4
4
  Summary: Athena Intelligence Python Library
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "athena-intelligence"
3
- version = "0.1.112"
3
+ version = "0.1.114"
4
4
  description = "Athena Intelligence Python Library"
5
5
  readme = "README.md"
6
6
  authors = []
@@ -1,3 +1,4 @@
1
+ import base64
1
2
  import dataclasses
2
3
  import enum
3
4
  import io
@@ -131,7 +132,7 @@ class WrappedToolsClient(ToolsClient):
131
132
  Parameters
132
133
  ----------
133
134
  asset_object : pd.DataFrame | pd.Series | core.File
134
- A pandas data frame, series, or core.File
135
+ A pandas data frame, series, matplotlib figure, or core.File
135
136
 
136
137
  parent_folder_id : typing.Optional[str]
137
138
  Identifier of the folder into which the asset should be saved
@@ -515,6 +516,10 @@ def _convert_asset_object(
515
516
  name: Union[str, None] = None,
516
517
  ) -> core.File:
517
518
  import pandas as pd
519
+ try:
520
+ from IPython.core.formatters import format_display_data # type: ignore[import]
521
+ except ImportError:
522
+ format_display_data = None
518
523
 
519
524
  if isinstance(asset_object, pd.Series):
520
525
  asset_object = asset_object.to_frame()
@@ -524,4 +529,20 @@ def _convert_asset_object(
524
529
  asset_object.to_parquet(path=None),
525
530
  "application/vnd.apache.parquet",
526
531
  )
532
+ if format_display_data:
533
+ data, _metadata = format_display_data(asset_object)
534
+ image_types = {
535
+ "image/png": "Plot",
536
+ "image/jpeg": "Image",
537
+ "image/gif": "Gif",
538
+ }
539
+ for media_type, label in image_types.items():
540
+ if media_type in data:
541
+ extension = media_type.split("/")[-1]
542
+ image_bytes = base64.b64decode(data[media_type])
543
+ return (
544
+ name or f"Untitled {label}.{extension}",
545
+ image_bytes,
546
+ media_type,
547
+ )
527
548
  return asset_object # type: ignore[return-value]
@@ -17,7 +17,7 @@ class BaseClientWrapper:
17
17
  headers: typing.Dict[str, str] = {
18
18
  "X-Fern-Language": "Python",
19
19
  "X-Fern-SDK-Name": "athena-intelligence",
20
- "X-Fern-SDK-Version": "0.1.112",
20
+ "X-Fern-SDK-Version": "0.1.114",
21
21
  }
22
22
  headers["X-API-KEY"] = self.api_key
23
23
  return headers