codemie-sdk-python 0.1.292__tar.gz → 0.1.294__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 (53) hide show
  1. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/PKG-INFO +1 -1
  2. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/pyproject.toml +1 -1
  3. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/__init__.py +12 -0
  4. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/client/client.py +7 -0
  5. codemie_sdk_python-0.1.294/src/codemie_sdk/models/mermaid.py +25 -0
  6. codemie_sdk_python-0.1.294/src/codemie_sdk/services/mermaid.py +67 -0
  7. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/README.md +0 -0
  8. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/auth/__init__.py +0 -0
  9. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/auth/credentials.py +0 -0
  10. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/client/__init__.py +0 -0
  11. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/exceptions.py +0 -0
  12. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/__init__.py +0 -0
  13. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/admin.py +0 -0
  14. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/analytics.py +0 -0
  15. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/assistant.py +0 -0
  16. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/common.py +0 -0
  17. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/conversation.py +0 -0
  18. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/datasource.py +0 -0
  19. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/file_operation.py +0 -0
  20. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/guardrails.py +0 -0
  21. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/integration.py +0 -0
  22. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/llm.py +0 -0
  23. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/task.py +0 -0
  24. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/user.py +0 -0
  25. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/vendor_assistant.py +0 -0
  26. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/vendor_guardrail.py +0 -0
  27. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/vendor_knowledgebase.py +0 -0
  28. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/vendor_workflow.py +0 -0
  29. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/workflow.py +0 -0
  30. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/workflow_execution_payload.py +0 -0
  31. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/workflow_state.py +0 -0
  32. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/models/workflow_thoughts.py +0 -0
  33. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/services/admin.py +0 -0
  34. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/services/analytics.py +0 -0
  35. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/services/assistant.py +0 -0
  36. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/services/codemie_guardrails.py +0 -0
  37. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/services/conversation.py +0 -0
  38. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/services/datasource.py +0 -0
  39. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/services/files.py +0 -0
  40. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/services/integration.py +0 -0
  41. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/services/llm.py +0 -0
  42. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/services/task.py +0 -0
  43. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/services/user.py +0 -0
  44. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/services/vendor_assistant.py +0 -0
  45. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/services/vendor_guardrail.py +0 -0
  46. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/services/vendor_knowledgebase.py +0 -0
  47. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/services/vendor_workflow.py +0 -0
  48. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/services/webhook.py +0 -0
  49. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/services/workflow.py +0 -0
  50. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/services/workflow_execution.py +0 -0
  51. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/services/workflow_execution_state.py +0 -0
  52. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/utils/__init__.py +0 -0
  53. {codemie_sdk_python-0.1.292 → codemie_sdk_python-0.1.294}/src/codemie_sdk/utils/http.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codemie-sdk-python
3
- Version: 0.1.292
3
+ Version: 0.1.294
4
4
  Summary: CodeMie SDK for Python
5
5
  Author: Vadym Vlasenko
6
6
  Author-email: vadym_vlasenko@epam.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "codemie-sdk-python"
3
- version = "0.1.292"
3
+ version = "0.1.294"
4
4
  description = "CodeMie SDK for Python"
5
5
  authors = [
6
6
  "Vadym Vlasenko <vadym_vlasenko@epam.com>",
@@ -100,6 +100,13 @@ from .services.vendor_knowledgebase import VendorKnowledgeBaseService
100
100
  from .services.vendor_guardrail import VendorGuardrailService
101
101
  from .services.codemie_guardrails import CodemieGuardrailService
102
102
  from .services.analytics import AnalyticsService
103
+ from .models.mermaid import (
104
+ MermaidDiagramRequest,
105
+ MermaidDiagramResponse,
106
+ ContentType,
107
+ ResponseType,
108
+ )
109
+ from .services.mermaid import MermaidService
103
110
 
104
111
  __version__ = "0.2.12"
105
112
  __all__ = [
@@ -174,4 +181,9 @@ __all__ = [
174
181
  "AnalyticsQueryParams",
175
182
  "PaginatedAnalyticsQueryParams",
176
183
  "AnalyticsService",
184
+ "MermaidDiagramRequest",
185
+ "MermaidDiagramResponse",
186
+ "ContentType",
187
+ "ResponseType",
188
+ "MermaidService",
177
189
  ]
@@ -10,6 +10,7 @@ from ..services.conversation import ConversationService
10
10
  from ..services.datasource import DatasourceService
11
11
  from ..services.llm import LLMService
12
12
  from ..services.integration import IntegrationService
13
+ from ..services.mermaid import MermaidService
13
14
  from ..services.task import TaskService
14
15
  from ..services.user import UserService
15
16
  from ..services.workflow import WorkflowService
@@ -80,6 +81,9 @@ class CodeMieClient:
80
81
  self._api_domain, self._token, verify_ssl=verify_ssl
81
82
  )
82
83
  self.llms = LLMService(self._api_domain, self._token, verify_ssl=verify_ssl)
84
+ self.mermaid = MermaidService(
85
+ self._api_domain, self._token, verify_ssl=verify_ssl
86
+ )
83
87
  self.integrations = IntegrationService(
84
88
  self._api_domain, self._token, verify_ssl=verify_ssl
85
89
  )
@@ -150,6 +154,9 @@ class CodeMieClient:
150
154
  self.llms = LLMService(
151
155
  self._api_domain, self._token, verify_ssl=self._verify_ssl
152
156
  )
157
+ self.mermaid = MermaidService(
158
+ self._api_domain, self._token, verify_ssl=self._verify_ssl
159
+ )
153
160
  self.integrations = IntegrationService(
154
161
  self._api_domain, self._token, verify_ssl=self._verify_ssl
155
162
  )
@@ -0,0 +1,25 @@
1
+ """Models for mermaid diagram operations."""
2
+
3
+ from typing import Literal
4
+ from pydantic import BaseModel, ConfigDict, Field
5
+
6
+
7
+ class MermaidDiagramRequest(BaseModel):
8
+ """Request model for mermaid diagram generation."""
9
+
10
+ model_config = ConfigDict(extra="ignore")
11
+
12
+ code: str = Field(..., description="Mermaid diagram code")
13
+
14
+
15
+ class MermaidDiagramResponse(BaseModel):
16
+ """Response model for mermaid diagram generation (FILE mode)."""
17
+
18
+ model_config = ConfigDict(extra="ignore")
19
+
20
+ file_url: str = Field(..., description="URL to the generated diagram file")
21
+
22
+
23
+ # Type aliases for clarity
24
+ ContentType = Literal["svg", "png"]
25
+ ResponseType = Literal["file", "raw"]
@@ -0,0 +1,67 @@
1
+ """Mermaid diagram service implementation."""
2
+
3
+ from typing import Union
4
+ import requests
5
+
6
+ from ..models.mermaid import (
7
+ MermaidDiagramRequest,
8
+ MermaidDiagramResponse,
9
+ ContentType,
10
+ ResponseType,
11
+ )
12
+ from ..utils import ApiRequestHandler
13
+
14
+
15
+ class MermaidService:
16
+ """Service for generating mermaid diagrams."""
17
+
18
+ def __init__(self, api_domain: str, token: str, verify_ssl: bool = True):
19
+ """Initialize the mermaid service.
20
+
21
+ Args:
22
+ api_domain: Base URL for the CodeMie API
23
+ token: Authentication token
24
+ verify_ssl: Whether to verify SSL certificates
25
+ """
26
+ self._api = ApiRequestHandler(api_domain, token, verify_ssl)
27
+
28
+ def generate_diagram(
29
+ self,
30
+ code: str,
31
+ content_type: ContentType = "svg",
32
+ response_type: ResponseType = "file",
33
+ ) -> Union[MermaidDiagramResponse, bytes]:
34
+ """Generate a mermaid diagram from mermaid code.
35
+
36
+ Args:
37
+ code: Mermaid diagram code (including theme directives if needed)
38
+ content_type: Output format - "svg" or "png" (default: "svg")
39
+ response_type: Response format - "file" (returns URL) or "raw" (returns binary data) (default: "file")
40
+
41
+ Returns:
42
+ MermaidDiagramResponse with file_url if response_type="file",
43
+ or bytes with raw diagram data if response_type="raw"
44
+
45
+ Raises:
46
+ ApiError: If diagram generation fails or invalid mermaid code
47
+ """
48
+ request = MermaidDiagramRequest(code=code)
49
+
50
+ # Build endpoint with query parameters
51
+ endpoint = f"/v1/files/diagram/mermaid?content_type={content_type}&response_type={response_type}"
52
+
53
+ if response_type == "file":
54
+ return self._api.post(
55
+ endpoint,
56
+ response_model=MermaidDiagramResponse,
57
+ json_data=request.model_dump(),
58
+ wrap_response=False,
59
+ )
60
+ else:
61
+ # For raw mode, return binary content
62
+ response = self._api.post(
63
+ endpoint,
64
+ response_model=requests.Response,
65
+ json_data=request.model_dump(),
66
+ )
67
+ return response.content