codemie-sdk-python 0.1.30__py3-none-any.whl → 0.1.32__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 codemie-sdk-python might be problematic. Click here for more details.

@@ -1,6 +1,7 @@
1
1
  """Assistant service implementation."""
2
2
 
3
3
  import json
4
+ from pathlib import Path
4
5
  from typing import List, Union, Optional, Dict, Any, Literal
5
6
 
6
7
  import requests
@@ -171,3 +172,14 @@ class AssistantService:
171
172
  json_data=request.model_dump(exclude_none=True, by_alias=True),
172
173
  stream=request.stream,
173
174
  )
175
+
176
+ def upload_file_to_chat(self, file_path: Path):
177
+ """Upload a file to assistant chat and return the response containing file_url."""
178
+
179
+ with open(file_path, "rb") as file:
180
+ files = [
181
+ ("file", (file_path.name, file, self._api.detect_mime_type(file_path)))
182
+ ]
183
+ response = self._api.post_multipart("/v1/files/", dict, files=files)
184
+
185
+ return response
@@ -82,7 +82,7 @@ class DatasourceService:
82
82
  content = f.read()
83
83
 
84
84
  # Basic MIME type detection
85
- mime_type = self._detect_mime_type(file_path)
85
+ mime_type = self._api.detect_mime_type(file_path)
86
86
  file_uploads.append(("files", (file_path.name, content, mime_type)))
87
87
 
88
88
  elif isinstance(file_item, tuple) and len(file_item) == 3:
@@ -99,24 +99,6 @@ class DatasourceService:
99
99
  endpoint, dict, params=params, files=file_uploads
100
100
  )
101
101
 
102
- @staticmethod
103
- def _detect_mime_type(file_path: Path) -> str:
104
- """Detect MIME type based on file extension."""
105
- extension = file_path.suffix.lower()
106
- mime_types = {
107
- ".txt": "text/plain",
108
- ".csv": "text/csv",
109
- ".json": "application/json",
110
- ".yaml": "application/x-yaml",
111
- ".yml": "application/x-yaml",
112
- ".xml": "application/xml",
113
- ".pdf": "application/pdf",
114
- ".pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
115
- ".docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
116
- ".xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
117
- }
118
- return mime_types.get(extension, "application/octet-stream")
119
-
120
102
  def update(self, datasource_id: str, request: BaseUpdateDataSourceRequest) -> dict:
121
103
  """Update an existing datasource.
122
104
 
codemie_sdk/utils/http.py CHANGED
@@ -1,5 +1,6 @@
1
1
  """HTTP utilities for CodeMie SDK."""
2
2
 
3
+ from pathlib import Path
3
4
  from typing import TypeVar, Type, Optional, Any, Union, Dict, List, get_origin, get_args
4
5
  from pydantic import BaseModel
5
6
  import requests
@@ -275,3 +276,21 @@ class ApiRequestHandler:
275
276
  response.raise_for_status()
276
277
 
277
278
  return self._parse_response(response, response_model, wrap_response)
279
+
280
+ @staticmethod
281
+ def detect_mime_type(file_path: Path) -> str:
282
+ """Detect MIME type based on file extension."""
283
+ extension = file_path.suffix.lower()
284
+ mime_types = {
285
+ ".txt": "text/plain",
286
+ ".csv": "text/csv",
287
+ ".json": "application/json",
288
+ ".yaml": "application/x-yaml",
289
+ ".yml": "application/x-yaml",
290
+ ".xml": "application/xml",
291
+ ".pdf": "application/pdf",
292
+ ".pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
293
+ ".docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
294
+ ".xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
295
+ }
296
+ return mime_types.get(extension, "application/octet-stream")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codemie-sdk-python
3
- Version: 0.1.30
3
+ Version: 0.1.32
4
4
  Summary: CodeMie SDK for Python
5
5
  Author: Vadym Vlasenko
6
6
  Author-email: vadym_vlasenko@epam.com
@@ -13,8 +13,8 @@ codemie_sdk/models/task.py,sha256=J4ZFRY3s8qBGrqB5NLQF0rMbInLh4s7OEZ0ZfmnW0Ho,14
13
13
  codemie_sdk/models/user.py,sha256=Q0rjimZh-IbeaPfq6b6fk6ZaCtwLqWHEIlU863suCS4,1777
14
14
  codemie_sdk/models/workflow.py,sha256=CyK-kBnOck2KiRX3gmWF_mcGtqxsGXH3FS3jwYbpz_A,2327
15
15
  codemie_sdk/models/workflow_state.py,sha256=CMYFQZ7sy4QxmnWmc83TFfqP7TG_3rW5MdH5fxsS9kY,1251
16
- codemie_sdk/services/assistant.py,sha256=-U5YpqOyKlVplSRPrnDItG8TUpg9qqhO6-F7c7Rz2xU,5110
17
- codemie_sdk/services/datasource.py,sha256=2LikRr_V-hgnflMjgbxydHugRMP1eO8_aI33DrVeXQ8,7834
16
+ codemie_sdk/services/assistant.py,sha256=D3aYFPd97wZIpKylAmxF6qtMwSeKyM54OqeKoDOw1U4,5554
17
+ codemie_sdk/services/datasource.py,sha256=wlfB_F68CvJeMBiPRBtD9o7gxo3SnZdMPX1DyNNxoyM,7011
18
18
  codemie_sdk/services/integration.py,sha256=vJnSkXk2C2l0ahX2SUsuA7fKhY2hTuAByynx5Lgh7Ls,4864
19
19
  codemie_sdk/services/llm.py,sha256=0-e4_7RvLHs2giCyoQ5U4KDTh6p5VXgPKNxnDP9ZDFU,1100
20
20
  codemie_sdk/services/task.py,sha256=3e9t8_LMkR4xfeMBwMCo7ZF87PxPS-ZbzDg85ilda2M,1031
@@ -23,7 +23,7 @@ codemie_sdk/services/workflow.py,sha256=aOV13WrFAqMXOPd2jVHbEhg3fpezk4XWo382D5aW
23
23
  codemie_sdk/services/workflow_execution.py,sha256=aGoT3rdTmh5-doAsrmBBjLEuOfvL5aqeo3g9th1_aAw,3647
24
24
  codemie_sdk/services/workflow_execution_state.py,sha256=tXoaa8yT09xgYEUNiHhVULe76TwGwVgZupMIUyyLxdo,2070
25
25
  codemie_sdk/utils/__init__.py,sha256=BXAJJfAzO89-kMYvWWo9wSNhSbGgF3vB1In9sePFhMM,109
26
- codemie_sdk/utils/http.py,sha256=FWU56W_-vBGbHfX1EC1zsoRjDoNCyNK2HCdNb4IkQVc,9233
27
- codemie_sdk_python-0.1.30.dist-info/METADATA,sha256=BidaXb3DI4hKUo17aa8VlOtXbWzgnXu5UYvVCydRdfs,21614
28
- codemie_sdk_python-0.1.30.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
29
- codemie_sdk_python-0.1.30.dist-info/RECORD,,
26
+ codemie_sdk/utils/http.py,sha256=YzE53y1r7PBUKcEQt-gGYduRY06I8xzqVRzlj9f_voA,10084
27
+ codemie_sdk_python-0.1.32.dist-info/METADATA,sha256=c2iRrHVxmZdPwVjgJS8GASOvzbC2lI-Ey8ph7FvBYrU,21614
28
+ codemie_sdk_python-0.1.32.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
29
+ codemie_sdk_python-0.1.32.dist-info/RECORD,,