airia 0.1.27__tar.gz → 0.1.29__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 (105) hide show
  1. {airia-0.1.27 → airia-0.1.29}/PKG-INFO +1 -1
  2. {airia-0.1.27 → airia-0.1.29}/airia/client/models/async_models.py +60 -0
  3. {airia-0.1.27 → airia-0.1.29}/airia/client/models/base_models.py +34 -0
  4. {airia-0.1.27 → airia-0.1.29}/airia/client/models/sync_models.py +58 -0
  5. {airia-0.1.27 → airia-0.1.29}/airia/types/api/pipelines_config/export_pipeline_definition.py +585 -19
  6. {airia-0.1.27 → airia-0.1.29}/airia/types/api/tools/_tools.py +22 -0
  7. {airia-0.1.27 → airia-0.1.29}/airia.egg-info/PKG-INFO +1 -1
  8. {airia-0.1.27 → airia-0.1.29}/pyproject.toml +1 -1
  9. {airia-0.1.27 → airia-0.1.29}/LICENSE +0 -0
  10. {airia-0.1.27 → airia-0.1.29}/README.md +0 -0
  11. {airia-0.1.27 → airia-0.1.29}/airia/__init__.py +0 -0
  12. {airia-0.1.27 → airia-0.1.29}/airia/client/__init__.py +0 -0
  13. {airia-0.1.27 → airia-0.1.29}/airia/client/_request_handler/__init__.py +0 -0
  14. {airia-0.1.27 → airia-0.1.29}/airia/client/_request_handler/async_request_handler.py +0 -0
  15. {airia-0.1.27 → airia-0.1.29}/airia/client/_request_handler/base_request_handler.py +0 -0
  16. {airia-0.1.27 → airia-0.1.29}/airia/client/_request_handler/sync_request_handler.py +0 -0
  17. {airia-0.1.27 → airia-0.1.29}/airia/client/async_client.py +0 -0
  18. {airia-0.1.27 → airia-0.1.29}/airia/client/attachments/__init__.py +0 -0
  19. {airia-0.1.27 → airia-0.1.29}/airia/client/attachments/async_attachments.py +0 -0
  20. {airia-0.1.27 → airia-0.1.29}/airia/client/attachments/base_attachments.py +0 -0
  21. {airia-0.1.27 → airia-0.1.29}/airia/client/attachments/sync_attachments.py +0 -0
  22. {airia-0.1.27 → airia-0.1.29}/airia/client/base_client.py +0 -0
  23. {airia-0.1.27 → airia-0.1.29}/airia/client/conversations/__init__.py +0 -0
  24. {airia-0.1.27 → airia-0.1.29}/airia/client/conversations/async_conversations.py +0 -0
  25. {airia-0.1.27 → airia-0.1.29}/airia/client/conversations/base_conversations.py +0 -0
  26. {airia-0.1.27 → airia-0.1.29}/airia/client/conversations/sync_conversations.py +0 -0
  27. {airia-0.1.27 → airia-0.1.29}/airia/client/data_vector_search/__init__.py +0 -0
  28. {airia-0.1.27 → airia-0.1.29}/airia/client/data_vector_search/async_data_vector_search.py +0 -0
  29. {airia-0.1.27 → airia-0.1.29}/airia/client/data_vector_search/base_data_vector_search.py +0 -0
  30. {airia-0.1.27 → airia-0.1.29}/airia/client/data_vector_search/sync_data_vector_search.py +0 -0
  31. {airia-0.1.27 → airia-0.1.29}/airia/client/deployments/__init__.py +0 -0
  32. {airia-0.1.27 → airia-0.1.29}/airia/client/deployments/async_deployments.py +0 -0
  33. {airia-0.1.27 → airia-0.1.29}/airia/client/deployments/base_deployments.py +0 -0
  34. {airia-0.1.27 → airia-0.1.29}/airia/client/deployments/sync_deployments.py +0 -0
  35. {airia-0.1.27 → airia-0.1.29}/airia/client/library/__init__.py +0 -0
  36. {airia-0.1.27 → airia-0.1.29}/airia/client/library/async_library.py +0 -0
  37. {airia-0.1.27 → airia-0.1.29}/airia/client/library/base_library.py +0 -0
  38. {airia-0.1.27 → airia-0.1.29}/airia/client/library/sync_library.py +0 -0
  39. {airia-0.1.27 → airia-0.1.29}/airia/client/models/__init__.py +0 -0
  40. {airia-0.1.27 → airia-0.1.29}/airia/client/pipeline_execution/__init__.py +0 -0
  41. {airia-0.1.27 → airia-0.1.29}/airia/client/pipeline_execution/async_pipeline_execution.py +0 -0
  42. {airia-0.1.27 → airia-0.1.29}/airia/client/pipeline_execution/base_pipeline_execution.py +0 -0
  43. {airia-0.1.27 → airia-0.1.29}/airia/client/pipeline_execution/sync_pipeline_execution.py +0 -0
  44. {airia-0.1.27 → airia-0.1.29}/airia/client/pipeline_import/__init__.py +0 -0
  45. {airia-0.1.27 → airia-0.1.29}/airia/client/pipeline_import/async_pipeline_import.py +0 -0
  46. {airia-0.1.27 → airia-0.1.29}/airia/client/pipeline_import/base_pipeline_import.py +0 -0
  47. {airia-0.1.27 → airia-0.1.29}/airia/client/pipeline_import/sync_pipeline_import.py +0 -0
  48. {airia-0.1.27 → airia-0.1.29}/airia/client/pipelines_config/__init__.py +0 -0
  49. {airia-0.1.27 → airia-0.1.29}/airia/client/pipelines_config/async_pipelines_config.py +0 -0
  50. {airia-0.1.27 → airia-0.1.29}/airia/client/pipelines_config/base_pipelines_config.py +0 -0
  51. {airia-0.1.27 → airia-0.1.29}/airia/client/pipelines_config/sync_pipelines_config.py +0 -0
  52. {airia-0.1.27 → airia-0.1.29}/airia/client/project/__init__.py +0 -0
  53. {airia-0.1.27 → airia-0.1.29}/airia/client/project/async_project.py +0 -0
  54. {airia-0.1.27 → airia-0.1.29}/airia/client/project/base_project.py +0 -0
  55. {airia-0.1.27 → airia-0.1.29}/airia/client/project/sync_project.py +0 -0
  56. {airia-0.1.27 → airia-0.1.29}/airia/client/store/__init__.py +0 -0
  57. {airia-0.1.27 → airia-0.1.29}/airia/client/store/async_store.py +0 -0
  58. {airia-0.1.27 → airia-0.1.29}/airia/client/store/base_store.py +0 -0
  59. {airia-0.1.27 → airia-0.1.29}/airia/client/store/sync_store.py +0 -0
  60. {airia-0.1.27 → airia-0.1.29}/airia/client/sync_client.py +0 -0
  61. {airia-0.1.27 → airia-0.1.29}/airia/client/tools/__init__.py +0 -0
  62. {airia-0.1.27 → airia-0.1.29}/airia/client/tools/async_tools.py +0 -0
  63. {airia-0.1.27 → airia-0.1.29}/airia/client/tools/base_tools.py +0 -0
  64. {airia-0.1.27 → airia-0.1.29}/airia/client/tools/sync_tools.py +0 -0
  65. {airia-0.1.27 → airia-0.1.29}/airia/constants.py +0 -0
  66. {airia-0.1.27 → airia-0.1.29}/airia/exceptions.py +0 -0
  67. {airia-0.1.27 → airia-0.1.29}/airia/logs.py +0 -0
  68. {airia-0.1.27 → airia-0.1.29}/airia/types/__init__.py +0 -0
  69. {airia-0.1.27 → airia-0.1.29}/airia/types/_api_version.py +0 -0
  70. {airia-0.1.27 → airia-0.1.29}/airia/types/_request_data.py +0 -0
  71. {airia-0.1.27 → airia-0.1.29}/airia/types/api/__init__.py +0 -0
  72. {airia-0.1.27 → airia-0.1.29}/airia/types/api/attachments/__init__.py +0 -0
  73. {airia-0.1.27 → airia-0.1.29}/airia/types/api/attachments/upload_file.py +0 -0
  74. {airia-0.1.27 → airia-0.1.29}/airia/types/api/conversations/__init__.py +0 -0
  75. {airia-0.1.27 → airia-0.1.29}/airia/types/api/conversations/_conversations.py +0 -0
  76. {airia-0.1.27 → airia-0.1.29}/airia/types/api/data_vector_search/__init__.py +0 -0
  77. {airia-0.1.27 → airia-0.1.29}/airia/types/api/data_vector_search/get_file_chunks.py +0 -0
  78. {airia-0.1.27 → airia-0.1.29}/airia/types/api/deployments/__init__.py +0 -0
  79. {airia-0.1.27 → airia-0.1.29}/airia/types/api/deployments/get_deployment.py +0 -0
  80. {airia-0.1.27 → airia-0.1.29}/airia/types/api/deployments/get_deployments.py +0 -0
  81. {airia-0.1.27 → airia-0.1.29}/airia/types/api/library/__init__.py +0 -0
  82. {airia-0.1.27 → airia-0.1.29}/airia/types/api/library/_library_models.py +0 -0
  83. {airia-0.1.27 → airia-0.1.29}/airia/types/api/models/__init__.py +0 -0
  84. {airia-0.1.27 → airia-0.1.29}/airia/types/api/models/list_models.py +0 -0
  85. {airia-0.1.27 → airia-0.1.29}/airia/types/api/pipeline_execution/__init__.py +0 -0
  86. {airia-0.1.27 → airia-0.1.29}/airia/types/api/pipeline_execution/_pipeline_execution.py +0 -0
  87. {airia-0.1.27 → airia-0.1.29}/airia/types/api/pipeline_import/__init__.py +0 -0
  88. {airia-0.1.27 → airia-0.1.29}/airia/types/api/pipeline_import/create_agent_from_pipeline_definition.py +0 -0
  89. {airia-0.1.27 → airia-0.1.29}/airia/types/api/pipelines_config/__init__.py +0 -0
  90. {airia-0.1.27 → airia-0.1.29}/airia/types/api/pipelines_config/get_pipeline_config.py +0 -0
  91. {airia-0.1.27 → airia-0.1.29}/airia/types/api/pipelines_config/get_pipelines_config.py +0 -0
  92. {airia-0.1.27 → airia-0.1.29}/airia/types/api/project/__init__.py +0 -0
  93. {airia-0.1.27 → airia-0.1.29}/airia/types/api/project/get_projects.py +0 -0
  94. {airia-0.1.27 → airia-0.1.29}/airia/types/api/store/__init__.py +0 -0
  95. {airia-0.1.27 → airia-0.1.29}/airia/types/api/store/get_file.py +0 -0
  96. {airia-0.1.27 → airia-0.1.29}/airia/types/api/store/get_files.py +0 -0
  97. {airia-0.1.27 → airia-0.1.29}/airia/types/api/tools/__init__.py +0 -0
  98. {airia-0.1.27 → airia-0.1.29}/airia/types/sse/__init__.py +0 -0
  99. {airia-0.1.27 → airia-0.1.29}/airia/types/sse/sse_messages.py +0 -0
  100. {airia-0.1.27 → airia-0.1.29}/airia/utils/sse_parser.py +0 -0
  101. {airia-0.1.27 → airia-0.1.29}/airia.egg-info/SOURCES.txt +0 -0
  102. {airia-0.1.27 → airia-0.1.29}/airia.egg-info/dependency_links.txt +0 -0
  103. {airia-0.1.27 → airia-0.1.29}/airia.egg-info/requires.txt +0 -0
  104. {airia-0.1.27 → airia-0.1.29}/airia.egg-info/top_level.txt +0 -0
  105. {airia-0.1.27 → airia-0.1.29}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: airia
3
- Version: 0.1.27
3
+ Version: 0.1.29
4
4
  Summary: Python SDK for Airia API
5
5
  Author-email: Airia LLC <support@airia.com>
6
6
  License: MIT
@@ -94,3 +94,63 @@ class AsyncModels(BaseModels):
94
94
  return []
95
95
 
96
96
  return [ModelItem(**item) for item in resp["items"]]
97
+
98
+ async def delete_model(
99
+ self,
100
+ model_id: str,
101
+ correlation_id: Optional[str] = None,
102
+ ) -> None:
103
+ """
104
+ Delete a model by its ID.
105
+
106
+ This method permanently deletes a model from the Airia platform. Once deleted,
107
+ the model cannot be recovered. Only models that the authenticated user has
108
+ permission to delete can be removed.
109
+
110
+ Args:
111
+ model_id (str): The unique identifier of the model to delete.
112
+ correlation_id (str, optional): A unique identifier for request tracing
113
+ and logging. If not provided, one will be automatically generated.
114
+
115
+ Returns:
116
+ None
117
+
118
+ Raises:
119
+ AiriaAPIError: If the API request fails, including cases where:
120
+ - Model not found (404)
121
+ - Authentication fails (401)
122
+ - Access is forbidden (403)
123
+ - Server errors (5xx)
124
+
125
+ Example:
126
+ ```python
127
+ from airia import AiriaAsyncClient
128
+
129
+ client = AiriaAsyncClient(api_key="your_api_key")
130
+
131
+ # Delete a specific model
132
+ await client.models.delete_model(
133
+ model_id="12345678-1234-1234-1234-123456789abc"
134
+ )
135
+ print("Model deleted successfully")
136
+
137
+ # Delete with correlation ID for tracking
138
+ await client.models.delete_model(
139
+ model_id="12345678-1234-1234-1234-123456789abc",
140
+ correlation_id="my-correlation-id"
141
+ )
142
+ ```
143
+
144
+ Note:
145
+ This operation is irreversible. Ensure you have the correct model ID
146
+ before calling this method. You must have delete permissions for the
147
+ specified model.
148
+ """
149
+ request_data = self._pre_delete_model(
150
+ model_id=model_id,
151
+ correlation_id=correlation_id,
152
+ api_version=ApiVersion.V1.value,
153
+ )
154
+ await self._request_handler.make_request(
155
+ "DELETE", request_data, return_json=False
156
+ )
@@ -66,3 +66,37 @@ class BaseModels:
66
66
  )
67
67
 
68
68
  return request_data
69
+
70
+ def _pre_delete_model(
71
+ self,
72
+ model_id: str,
73
+ correlation_id: Optional[str] = None,
74
+ api_version: str = ApiVersion.V1.value,
75
+ ):
76
+ """
77
+ Prepare request data for deleting a model.
78
+
79
+ Args:
80
+ model_id: The ID of the model to delete
81
+ correlation_id: Optional correlation ID for tracing
82
+ api_version: API version to use for the request
83
+
84
+ Returns:
85
+ RequestData: Prepared request data for the delete endpoint
86
+
87
+ Raises:
88
+ ValueError: If an invalid API version is provided
89
+ """
90
+ if api_version not in ApiVersion.as_list():
91
+ raise ValueError(
92
+ f"Invalid API version: {api_version}. Valid versions are: {', '.join(ApiVersion.as_list())}"
93
+ )
94
+
95
+ url = urljoin(
96
+ self._request_handler.base_url,
97
+ f"{api_version}/Models/{model_id}",
98
+ )
99
+ request_data = self._request_handler.prepare_request(
100
+ url, correlation_id=correlation_id
101
+ )
102
+ return request_data
@@ -94,3 +94,61 @@ class Models(BaseModels):
94
94
  return []
95
95
 
96
96
  return [ModelItem(**item) for item in resp["items"]]
97
+
98
+ def delete_model(
99
+ self,
100
+ model_id: str,
101
+ correlation_id: Optional[str] = None,
102
+ ) -> None:
103
+ """
104
+ Delete a model by its ID.
105
+
106
+ This method permanently deletes a model from the Airia platform. Once deleted,
107
+ the model cannot be recovered. Only models that the authenticated user has
108
+ permission to delete can be removed.
109
+
110
+ Args:
111
+ model_id (str): The unique identifier of the model to delete.
112
+ correlation_id (str, optional): A unique identifier for request tracing
113
+ and logging. If not provided, one will be automatically generated.
114
+
115
+ Returns:
116
+ None
117
+
118
+ Raises:
119
+ AiriaAPIError: If the API request fails, including cases where:
120
+ - Model not found (404)
121
+ - Authentication fails (401)
122
+ - Access is forbidden (403)
123
+ - Server errors (5xx)
124
+
125
+ Example:
126
+ ```python
127
+ from airia import AiriaClient
128
+
129
+ client = AiriaClient(api_key="your_api_key")
130
+
131
+ # Delete a specific model
132
+ client.models.delete_model(
133
+ model_id="12345678-1234-1234-1234-123456789abc"
134
+ )
135
+ print("Model deleted successfully")
136
+
137
+ # Delete with correlation ID for tracking
138
+ client.models.delete_model(
139
+ model_id="12345678-1234-1234-1234-123456789abc",
140
+ correlation_id="my-correlation-id"
141
+ )
142
+ ```
143
+
144
+ Note:
145
+ This operation is irreversible. Ensure you have the correct model ID
146
+ before calling this method. You must have delete permissions for the
147
+ specified model.
148
+ """
149
+ request_data = self._pre_delete_model(
150
+ model_id=model_id,
151
+ correlation_id=correlation_id,
152
+ api_version=ApiVersion.V1.value,
153
+ )
154
+ self._request_handler.make_request("DELETE", request_data, return_json=False)