codemie-sdk-python 0.1.204__tar.gz → 0.1.206__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 codemie-sdk-python might be problematic. Click here for more details.
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/PKG-INFO +16 -1
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/README.md +15 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/pyproject.toml +1 -1
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/client/client.py +4 -0
- codemie_sdk_python-0.1.206/src/codemie_sdk/services/webhook.py +41 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/utils/http.py +7 -1
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/__init__.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/auth/__init__.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/auth/credentials.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/client/__init__.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/exceptions.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/__init__.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/assistant.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/common.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/conversation.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/datasource.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/file_operation.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/integration.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/llm.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/task.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/user.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/workflow.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/workflow_execution_payload.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/workflow_state.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/workflow_thoughts.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/services/assistant.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/services/conversation.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/services/datasource.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/services/files.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/services/integration.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/services/llm.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/services/task.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/services/user.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/services/workflow.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/services/workflow_execution.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/services/workflow_execution_state.py +0 -0
- {codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/utils/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: codemie-sdk-python
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.206
|
|
4
4
|
Summary: CodeMie SDK for Python
|
|
5
5
|
Author: Vadym Vlasenko
|
|
6
6
|
Author-email: vadym_vlasenko@epam.com
|
|
@@ -43,6 +43,8 @@ Python SDK for CodeMie services. This SDK provides a comprehensive interface to
|
|
|
43
43
|
- [Workflow Status Monitoring](#workflow-status-monitoring)
|
|
44
44
|
- [Conversation Service](#conversation-service)
|
|
45
45
|
- [Core Methods](#core-methods-4)
|
|
46
|
+
- [Webhook Service](#webhook-service)
|
|
47
|
+
- [Core Methods](#core-methods-5)
|
|
46
48
|
- [Development](#development)
|
|
47
49
|
- [Setup](#setup)
|
|
48
50
|
- [Running Tests](#running-tests)
|
|
@@ -735,6 +737,19 @@ client.conversations.list_by_assistant_id("assistant-id")
|
|
|
735
737
|
client.conversations.delete("conversation-id")
|
|
736
738
|
```
|
|
737
739
|
|
|
740
|
+
|
|
741
|
+
### Webhook Service
|
|
742
|
+
|
|
743
|
+
The Webhook service provides access to trigger available webhook in CodeMie.
|
|
744
|
+
|
|
745
|
+
#### Core Methods
|
|
746
|
+
|
|
747
|
+
1. **Get All Conversations**
|
|
748
|
+
```python
|
|
749
|
+
# Trigger assistant/workflow/datasource by it's ID
|
|
750
|
+
# Data - body of the post method
|
|
751
|
+
response = client.webhook.trigger("resource_id", "data")
|
|
752
|
+
```
|
|
738
753
|
## Error Handling
|
|
739
754
|
|
|
740
755
|
The SDK implements comprehensive error handling. All API calls may raise exceptions for:
|
|
@@ -30,6 +30,8 @@ Python SDK for CodeMie services. This SDK provides a comprehensive interface to
|
|
|
30
30
|
- [Workflow Status Monitoring](#workflow-status-monitoring)
|
|
31
31
|
- [Conversation Service](#conversation-service)
|
|
32
32
|
- [Core Methods](#core-methods-4)
|
|
33
|
+
- [Webhook Service](#webhook-service)
|
|
34
|
+
- [Core Methods](#core-methods-5)
|
|
33
35
|
- [Development](#development)
|
|
34
36
|
- [Setup](#setup)
|
|
35
37
|
- [Running Tests](#running-tests)
|
|
@@ -722,6 +724,19 @@ client.conversations.list_by_assistant_id("assistant-id")
|
|
|
722
724
|
client.conversations.delete("conversation-id")
|
|
723
725
|
```
|
|
724
726
|
|
|
727
|
+
|
|
728
|
+
### Webhook Service
|
|
729
|
+
|
|
730
|
+
The Webhook service provides access to trigger available webhook in CodeMie.
|
|
731
|
+
|
|
732
|
+
#### Core Methods
|
|
733
|
+
|
|
734
|
+
1. **Get All Conversations**
|
|
735
|
+
```python
|
|
736
|
+
# Trigger assistant/workflow/datasource by it's ID
|
|
737
|
+
# Data - body of the post method
|
|
738
|
+
response = client.webhook.trigger("resource_id", "data")
|
|
739
|
+
```
|
|
725
740
|
## Error Handling
|
|
726
741
|
|
|
727
742
|
The SDK implements comprehensive error handling. All API calls may raise exceptions for:
|
|
@@ -12,6 +12,7 @@ from ..services.task import TaskService
|
|
|
12
12
|
from ..services.user import UserService
|
|
13
13
|
from ..services.workflow import WorkflowService
|
|
14
14
|
from ..services.files import FileOperationService
|
|
15
|
+
from ..services.webhook import WebhookService
|
|
15
16
|
|
|
16
17
|
|
|
17
18
|
class CodeMieClient:
|
|
@@ -85,6 +86,9 @@ class CodeMieClient:
|
|
|
85
86
|
self.files = FileOperationService(
|
|
86
87
|
self._api_domain, self._token, verify_ssl=self._verify_ssl
|
|
87
88
|
)
|
|
89
|
+
self.webhook = WebhookService(
|
|
90
|
+
self._api_domain, self._token, verify_ssl=self._verify_ssl
|
|
91
|
+
)
|
|
88
92
|
|
|
89
93
|
@property
|
|
90
94
|
def token(self) -> str:
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import requests
|
|
2
|
+
|
|
3
|
+
from typing import Dict, Any
|
|
4
|
+
from ..utils import ApiRequestHandler
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class WebhookService:
|
|
8
|
+
"""Webhook service implementation."""
|
|
9
|
+
|
|
10
|
+
def __init__(self, api_domain: str, token: str, verify_ssl: bool = True):
|
|
11
|
+
"""Initialize the conversation service.
|
|
12
|
+
|
|
13
|
+
Args:
|
|
14
|
+
api_domain: Base URL for the API
|
|
15
|
+
token: Authentication token
|
|
16
|
+
verify_ssl: Whether to verify SSL certificates
|
|
17
|
+
"""
|
|
18
|
+
self._api = ApiRequestHandler(api_domain, token, verify_ssl)
|
|
19
|
+
|
|
20
|
+
def trigger(
|
|
21
|
+
self, webhook_id: str, data: Dict[str, Any] = None
|
|
22
|
+
) -> requests.Response:
|
|
23
|
+
"""Trigger a webhook by sending a POST request with the provided data.
|
|
24
|
+
|
|
25
|
+
Args:
|
|
26
|
+
webhook_id: Webhook ID to trigger
|
|
27
|
+
data: Request body data. Defaults to {"test": "data"} if not provided
|
|
28
|
+
|
|
29
|
+
Returns:
|
|
30
|
+
Response object from requests library
|
|
31
|
+
"""
|
|
32
|
+
if data is None:
|
|
33
|
+
data = {"test": "data"}
|
|
34
|
+
|
|
35
|
+
return self._api.post(
|
|
36
|
+
f"/v1/webhooks/{webhook_id}",
|
|
37
|
+
response_model=requests.Response,
|
|
38
|
+
json_data=data,
|
|
39
|
+
wrap_response=False,
|
|
40
|
+
raise_on_error=False,
|
|
41
|
+
)
|
|
@@ -160,6 +160,7 @@ class ApiRequestHandler:
|
|
|
160
160
|
json_data: Optional[Dict[str, Any]] = None,
|
|
161
161
|
stream: bool = False,
|
|
162
162
|
wrap_response: bool = True,
|
|
163
|
+
raise_on_error: bool = True,
|
|
163
164
|
) -> Union[T, requests.Response]:
|
|
164
165
|
"""Makes a POST request and parses the response.
|
|
165
166
|
|
|
@@ -169,6 +170,7 @@ class ApiRequestHandler:
|
|
|
169
170
|
json_data: JSON request body
|
|
170
171
|
stream: Whether to return streaming response
|
|
171
172
|
wrap_response: Whether response is wrapped in 'data' field
|
|
173
|
+
raise_on_error: Whether to raise exception on HTTP error status codes
|
|
172
174
|
|
|
173
175
|
Returns:
|
|
174
176
|
Parsed response object/list or streaming response
|
|
@@ -183,11 +185,15 @@ class ApiRequestHandler:
|
|
|
183
185
|
verify=self._verify_ssl,
|
|
184
186
|
stream=stream,
|
|
185
187
|
)
|
|
186
|
-
|
|
188
|
+
if raise_on_error:
|
|
189
|
+
response.raise_for_status()
|
|
187
190
|
|
|
188
191
|
if stream:
|
|
189
192
|
return response
|
|
190
193
|
|
|
194
|
+
if response_model is None or response_model is requests.Response:
|
|
195
|
+
return response
|
|
196
|
+
|
|
191
197
|
return self._parse_response(response, response_model, wrap_response)
|
|
192
198
|
|
|
193
199
|
@log_request
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/auth/credentials.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/client/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/__init__.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/assistant.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/conversation.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/datasource.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/file_operation.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/integration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/workflow.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/models/workflow_state.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/services/assistant.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/services/conversation.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/services/datasource.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/services/integration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.204 → codemie_sdk_python-0.1.206}/src/codemie_sdk/services/workflow.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|