codemie-sdk-python 0.1.521__tar.gz → 0.1.523__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.
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/PKG-INFO +1 -1
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/pyproject.toml +1 -1
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/datasource.py +43 -12
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/utils/http.py +34 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/README.md +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/__init__.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/auth/__init__.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/auth/credentials.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/client/__init__.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/client/client.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/exceptions.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/__init__.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/activity_event.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/admin.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/analytics.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/assistant.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/categories.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/common.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/conversation.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/datasource.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/errors.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/file_operation.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/guardrails.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/integration.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/llm.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/mermaid.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/project.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/skill.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/task.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/user.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/vendor_assistant.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/vendor_guardrail.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/vendor_knowledgebase.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/vendor_runtime.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/vendor_workflow.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/workflow.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/workflow_execution_payload.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/workflow_state.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/workflow_thoughts.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/workflow_transition.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/activity_event.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/admin.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/analytics.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/assistant.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/categories.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/codemie_guardrails.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/conversation.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/files.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/integration.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/llm.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/mermaid.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/project.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/skill.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/task.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/user.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/vendor_assistant.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/vendor_guardrail.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/vendor_knowledgebase.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/vendor_runtime.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/vendor_workflow.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/webhook.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/workflow.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/workflow_execution.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/workflow_execution_state.py +0 -0
- {codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/utils/__init__.py +0 -0
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/datasource.py
RENAMED
|
@@ -60,26 +60,20 @@ class DatasourceService:
|
|
|
60
60
|
json_data=request.model_dump(by_alias=True, exclude_none=True),
|
|
61
61
|
)
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
request: FileDataSourceRequest,
|
|
63
|
+
@staticmethod
|
|
64
|
+
def _build_file_uploads(
|
|
66
65
|
files: list[str | Tuple[str, bytes, str]],
|
|
67
|
-
) ->
|
|
68
|
-
"""
|
|
66
|
+
) -> list[tuple[str, tuple[str, bytes, str]]]:
|
|
67
|
+
"""Build multipart file tuples from file paths or (filename, content, mime_type) tuples.
|
|
69
68
|
|
|
70
69
|
Args:
|
|
71
|
-
request: File datasource creation request
|
|
72
70
|
files: List of files to upload. Each item can be:
|
|
73
71
|
- str: file path (will read file and detect MIME type)
|
|
74
72
|
- Tuple[str, bytes, str]: (filename, content, mime_type)
|
|
75
73
|
|
|
76
74
|
Returns:
|
|
77
|
-
|
|
75
|
+
list: Multipart-ready ("files", (filename, content, mime_type)) tuples
|
|
78
76
|
"""
|
|
79
|
-
endpoint = "/v1/index/knowledge_base/file"
|
|
80
|
-
|
|
81
|
-
# Prepare multipart form data
|
|
82
|
-
params = request.model_dump(by_alias=True, exclude_none=True)
|
|
83
77
|
file_uploads = []
|
|
84
78
|
|
|
85
79
|
for file_item in files:
|
|
@@ -106,15 +100,47 @@ class DatasourceService:
|
|
|
106
100
|
"Each file must be either a file path (str) or a tuple of (filename, content, mime_type)"
|
|
107
101
|
)
|
|
108
102
|
|
|
103
|
+
return file_uploads
|
|
104
|
+
|
|
105
|
+
def create_file_datasource(
|
|
106
|
+
self,
|
|
107
|
+
request: FileDataSourceRequest,
|
|
108
|
+
files: list[str | Tuple[str, bytes, str]],
|
|
109
|
+
) -> dict:
|
|
110
|
+
"""Create a new file datasource with file uploads.
|
|
111
|
+
|
|
112
|
+
Args:
|
|
113
|
+
request: File datasource creation request
|
|
114
|
+
files: List of files to upload. Each item can be:
|
|
115
|
+
- str: file path (will read file and detect MIME type)
|
|
116
|
+
- Tuple[str, bytes, str]: (filename, content, mime_type)
|
|
117
|
+
|
|
118
|
+
Returns:
|
|
119
|
+
dict: Response from the server containing operation status
|
|
120
|
+
"""
|
|
121
|
+
endpoint = "/v1/index/knowledge_base/file"
|
|
122
|
+
|
|
123
|
+
# Prepare multipart form data
|
|
124
|
+
params = request.model_dump(by_alias=True, exclude_none=True)
|
|
125
|
+
file_uploads = self._build_file_uploads(files)
|
|
126
|
+
|
|
109
127
|
return self._api.post_multipart(
|
|
110
128
|
endpoint, dict, params=params, files=file_uploads
|
|
111
129
|
)
|
|
112
130
|
|
|
113
|
-
def update(
|
|
131
|
+
def update(
|
|
132
|
+
self,
|
|
133
|
+
datasource_id: str,
|
|
134
|
+
request: BaseUpdateDataSourceRequest,
|
|
135
|
+
files: list[str | Tuple[str, bytes, str]] | None = None,
|
|
136
|
+
) -> dict:
|
|
114
137
|
"""Update an existing datasource.
|
|
115
138
|
|
|
116
139
|
Args:
|
|
117
140
|
request: Update datasource request
|
|
141
|
+
files: Optional list of files to add to a File datasource. Each item
|
|
142
|
+
can be a file path (str) or a (filename, content, mime_type)
|
|
143
|
+
tuple. Only supported for UpdateFileDataSourceRequest.
|
|
118
144
|
|
|
119
145
|
Returns:
|
|
120
146
|
dict: Response from the server containing operation status
|
|
@@ -140,6 +166,11 @@ class DatasourceService:
|
|
|
140
166
|
# PUT /index/knowledge_base/file now uses Depends() — all fields are query params
|
|
141
167
|
if isinstance(request, UpdateFileDataSourceRequest):
|
|
142
168
|
params.update(data)
|
|
169
|
+
if files:
|
|
170
|
+
file_uploads = self._build_file_uploads(files)
|
|
171
|
+
return self._api.put_multipart(
|
|
172
|
+
endpoint, dict, params=params, files=file_uploads
|
|
173
|
+
)
|
|
143
174
|
return self._api.put(endpoint, dict, {}, params=params)
|
|
144
175
|
|
|
145
176
|
return self._api.put(endpoint, dict, params=params, json_data=data)
|
|
@@ -274,6 +274,40 @@ class ApiRequestHandler:
|
|
|
274
274
|
|
|
275
275
|
return self._parse_response(response, response_model, wrap_response)
|
|
276
276
|
|
|
277
|
+
@log_request
|
|
278
|
+
def put_multipart(
|
|
279
|
+
self,
|
|
280
|
+
endpoint: str,
|
|
281
|
+
response_model: Type[T],
|
|
282
|
+
params: dict[str, Any] | None = None,
|
|
283
|
+
files: list | None = None,
|
|
284
|
+
wrap_response: bool = True,
|
|
285
|
+
) -> T:
|
|
286
|
+
"""Makes a PUT multipart/form-data request and parses the response.
|
|
287
|
+
|
|
288
|
+
Args:
|
|
289
|
+
endpoint: API endpoint path
|
|
290
|
+
response_model: Pydantic model class or list[Model] for response
|
|
291
|
+
params: Url parameters
|
|
292
|
+
files: List of file tuples for upload
|
|
293
|
+
wrap_response: Whether response is wrapped in 'data' field
|
|
294
|
+
|
|
295
|
+
Returns:
|
|
296
|
+
Parsed response object or list of objects
|
|
297
|
+
"""
|
|
298
|
+
response = requests.put(
|
|
299
|
+
url=f"{self._base_url}{endpoint}",
|
|
300
|
+
headers=self._get_headers(
|
|
301
|
+
exclude_content_type=True
|
|
302
|
+
), # Let requests set multipart content-type
|
|
303
|
+
params=params,
|
|
304
|
+
files=files,
|
|
305
|
+
verify=self._verify_ssl,
|
|
306
|
+
)
|
|
307
|
+
response.raise_for_status()
|
|
308
|
+
|
|
309
|
+
return self._parse_response(response, response_model, wrap_response)
|
|
310
|
+
|
|
277
311
|
@log_request
|
|
278
312
|
def put(
|
|
279
313
|
self,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/auth/credentials.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/client/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/__init__.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/activity_event.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/analytics.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/assistant.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/categories.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/conversation.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/datasource.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/file_operation.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/guardrails.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/integration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/vendor_assistant.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/vendor_guardrail.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/vendor_runtime.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/vendor_workflow.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/workflow.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/models/workflow_state.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/activity_event.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/analytics.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/assistant.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/categories.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/conversation.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/integration.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/mermaid.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/project.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/vendor_runtime.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/webhook.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.521 → codemie_sdk_python-0.1.523}/src/codemie_sdk/services/workflow.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|