blaxel 0.2.26rc119__py3-none-any.whl → 0.2.27__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.
Files changed (115) hide show
  1. blaxel/__init__.py +3 -5
  2. blaxel/core/__init__.py +9 -1
  3. blaxel/core/client/api/{privateclusters/create_private_cluster.py → images/cleanup_images.py} +31 -25
  4. blaxel/core/client/models/__init__.py +2 -4
  5. blaxel/core/client/models/agent.py +1 -0
  6. blaxel/core/client/models/agent_spec.py +1 -24
  7. blaxel/core/client/models/billable_time_metric.py +1 -0
  8. blaxel/core/{sandbox/client/models/find_match.py → client/models/cleanup_images_response_200.py} +19 -19
  9. blaxel/core/client/models/configuration.py +1 -0
  10. blaxel/core/client/models/core_event.py +9 -0
  11. blaxel/core/client/models/core_spec.py +1 -24
  12. blaxel/core/client/models/core_spec_configurations.py +1 -0
  13. blaxel/core/client/models/create_job_execution_request.py +1 -0
  14. blaxel/core/client/models/create_job_execution_response.py +1 -0
  15. blaxel/core/client/models/custom_domain.py +1 -0
  16. blaxel/core/client/models/custom_domain_metadata.py +1 -0
  17. blaxel/core/client/models/custom_domain_spec.py +1 -0
  18. blaxel/core/client/models/delete_volume_template_version_response_200.py +1 -0
  19. blaxel/core/client/models/entrypoint.py +1 -0
  20. blaxel/core/client/models/form.py +1 -0
  21. blaxel/core/client/models/function.py +1 -0
  22. blaxel/core/client/models/function_spec.py +1 -24
  23. blaxel/core/client/models/image.py +1 -0
  24. blaxel/core/client/models/image_spec.py +1 -0
  25. blaxel/core/client/models/integration.py +1 -0
  26. blaxel/core/client/models/integration_connection.py +1 -0
  27. blaxel/core/client/models/integration_connection_spec.py +1 -0
  28. blaxel/core/client/models/integration_endpoint.py +1 -0
  29. blaxel/core/client/models/integration_endpoints.py +2 -0
  30. blaxel/core/client/models/job.py +1 -0
  31. blaxel/core/client/models/job_execution.py +1 -0
  32. blaxel/core/client/models/job_execution_spec.py +1 -0
  33. blaxel/core/client/models/job_execution_task.py +1 -0
  34. blaxel/core/client/models/job_metrics.py +1 -0
  35. blaxel/core/client/models/job_spec.py +1 -24
  36. blaxel/core/client/models/jobs_network_chart.py +1 -0
  37. blaxel/core/client/models/jobs_success_failed_chart.py +1 -0
  38. blaxel/core/client/models/latency_metric.py +1 -0
  39. blaxel/core/client/models/location_response.py +1 -0
  40. blaxel/core/client/models/mcp_definition.py +1 -0
  41. blaxel/core/client/models/metadata.py +1 -0
  42. blaxel/core/client/models/metrics.py +34 -0
  43. blaxel/core/client/models/model.py +1 -0
  44. blaxel/core/client/models/model_spec.py +1 -24
  45. blaxel/core/client/models/pending_invitation_accept.py +1 -0
  46. blaxel/core/client/models/pending_invitation_render.py +1 -0
  47. blaxel/core/client/models/policy.py +1 -0
  48. blaxel/core/client/models/policy_spec.py +1 -0
  49. blaxel/core/client/models/preview.py +1 -0
  50. blaxel/core/client/models/preview_spec.py +1 -0
  51. blaxel/core/client/models/preview_token.py +1 -0
  52. blaxel/core/client/models/public_ips.py +1 -0
  53. blaxel/core/client/models/request_duration_over_time_metrics.py +1 -0
  54. blaxel/core/client/models/request_total_by_origin_metric.py +1 -0
  55. blaxel/core/client/models/request_total_metric.py +1 -0
  56. blaxel/core/client/models/resource_metrics.py +1 -0
  57. blaxel/core/client/models/revision_configuration.py +9 -0
  58. blaxel/core/client/models/runtime.py +1 -0
  59. blaxel/core/client/models/sandbox.py +1 -0
  60. blaxel/core/client/models/sandbox_definition.py +1 -0
  61. blaxel/core/client/models/sandbox_lifecycle.py +1 -0
  62. blaxel/core/client/models/sandbox_spec.py +1 -24
  63. blaxel/core/client/models/serverless_config.py +1 -0
  64. blaxel/core/client/models/start_sandbox.py +1 -0
  65. blaxel/core/client/models/stop_sandbox.py +1 -0
  66. blaxel/core/client/models/store_agent.py +1 -0
  67. blaxel/core/client/models/store_configuration.py +1 -0
  68. blaxel/core/client/models/template.py +1 -0
  69. blaxel/core/client/models/time_to_first_token_over_time_metrics.py +1 -0
  70. blaxel/core/client/models/token_rate_metrics.py +1 -0
  71. blaxel/core/client/models/trigger.py +10 -0
  72. blaxel/core/client/models/trigger_configuration.py +28 -0
  73. blaxel/core/client/models/volume.py +1 -0
  74. blaxel/core/client/models/volume_template.py +1 -0
  75. blaxel/core/client/models/websocket_channel.py +9 -0
  76. blaxel/core/client/models/workspace.py +1 -0
  77. blaxel/core/client/response_interceptor.py +0 -1
  78. blaxel/core/common/__init__.py +11 -2
  79. blaxel/core/common/autoload.py +1 -85
  80. blaxel/core/common/settings.py +56 -16
  81. blaxel/core/common/webhook.py +187 -0
  82. blaxel/core/jobs/__init__.py +352 -3
  83. blaxel/core/sandbox/client/models/__init__.py +0 -16
  84. blaxel/core/sandbox/default/action.py +10 -27
  85. blaxel/core/sandbox/default/filesystem.py +47 -185
  86. blaxel/core/sandbox/default/interpreter.py +55 -62
  87. blaxel/core/sandbox/default/process.py +46 -66
  88. {blaxel-0.2.26rc119.dist-info → blaxel-0.2.27.dist-info}/METADATA +2 -3
  89. {blaxel-0.2.26rc119.dist-info → blaxel-0.2.27.dist-info}/RECORD +91 -114
  90. blaxel/core/client/api/privateclusters/__init__.py +0 -0
  91. blaxel/core/client/api/privateclusters/delete_private_cluster.py +0 -152
  92. blaxel/core/client/api/privateclusters/get_private_cluster.py +0 -155
  93. blaxel/core/client/api/privateclusters/get_private_cluster_health.py +0 -97
  94. blaxel/core/client/api/privateclusters/list_private_clusters.py +0 -136
  95. blaxel/core/client/api/privateclusters/update_private_cluster.py +0 -152
  96. blaxel/core/client/api/privateclusters/update_private_cluster_health.py +0 -97
  97. blaxel/core/client/models/model_private_cluster.py +0 -79
  98. blaxel/core/client/models/private_cluster.py +0 -183
  99. blaxel/core/sandbox/client/api/filesystem/delete_filesystem_tree_path.py +0 -188
  100. blaxel/core/sandbox/client/api/filesystem/get_filesystem_content_search_path.py +0 -265
  101. blaxel/core/sandbox/client/api/filesystem/get_filesystem_find_path.py +0 -248
  102. blaxel/core/sandbox/client/api/filesystem/get_filesystem_search_path.py +0 -237
  103. blaxel/core/sandbox/client/api/filesystem/get_filesystem_tree_path.py +0 -197
  104. blaxel/core/sandbox/client/api/filesystem/put_filesystem_tree_path.py +0 -223
  105. blaxel/core/sandbox/client/api/websocket/__init__.py +0 -0
  106. blaxel/core/sandbox/client/api/websocket/get_ws.py +0 -81
  107. blaxel/core/sandbox/client/models/content_search_match.py +0 -98
  108. blaxel/core/sandbox/client/models/content_search_response.py +0 -97
  109. blaxel/core/sandbox/client/models/find_response.py +0 -88
  110. blaxel/core/sandbox/client/models/fuzzy_search_match.py +0 -78
  111. blaxel/core/sandbox/client/models/fuzzy_search_response.py +0 -88
  112. blaxel/core/sandbox/client/models/tree_request.py +0 -76
  113. blaxel/core/sandbox/client/models/tree_request_files.py +0 -49
  114. {blaxel-0.2.26rc119.dist-info → blaxel-0.2.27.dist-info}/WHEEL +0 -0
  115. {blaxel-0.2.26rc119.dist-info → blaxel-0.2.27.dist-info}/licenses/LICENSE +0 -0
@@ -1,97 +0,0 @@
1
- from http import HTTPStatus
2
- from typing import Any, Union
3
-
4
- import httpx
5
-
6
- from ... import errors
7
- from ...client import Client
8
- from ...types import Response
9
-
10
-
11
- def _get_kwargs(
12
- private_cluster_name: str,
13
- ) -> dict[str, Any]:
14
- _kwargs: dict[str, Any] = {
15
- "method": "post",
16
- "url": f"/privateclusters/{private_cluster_name}/health",
17
- }
18
-
19
- return _kwargs
20
-
21
-
22
- def _parse_response(*, client: Client, response: httpx.Response) -> Any | None:
23
- if response.status_code == 200:
24
- return None
25
- if response.status_code == 401:
26
- return None
27
- if response.status_code == 403:
28
- return None
29
- if client.raise_on_unexpected_status:
30
- raise errors.UnexpectedStatus(response.status_code, response.content)
31
- else:
32
- return None
33
-
34
-
35
- def _build_response(*, client: Client, response: httpx.Response) -> Response[Any]:
36
- return Response(
37
- status_code=HTTPStatus(response.status_code),
38
- content=response.content,
39
- headers=response.headers,
40
- parsed=_parse_response(client=client, response=response),
41
- )
42
-
43
-
44
- def sync_detailed(
45
- private_cluster_name: str,
46
- *,
47
- client: Union[Client],
48
- ) -> Response[Any]:
49
- """Update private cluster health
50
-
51
- Args:
52
- private_cluster_name (str):
53
-
54
- Raises:
55
- errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
56
- httpx.TimeoutException: If the request takes longer than Client.timeout.
57
-
58
- Returns:
59
- Response[Any]
60
- """
61
-
62
- kwargs = _get_kwargs(
63
- private_cluster_name=private_cluster_name,
64
- )
65
-
66
- response = client.get_httpx_client().request(
67
- **kwargs,
68
- )
69
-
70
- return _build_response(client=client, response=response)
71
-
72
-
73
- async def asyncio_detailed(
74
- private_cluster_name: str,
75
- *,
76
- client: Union[Client],
77
- ) -> Response[Any]:
78
- """Update private cluster health
79
-
80
- Args:
81
- private_cluster_name (str):
82
-
83
- Raises:
84
- errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
85
- httpx.TimeoutException: If the request takes longer than Client.timeout.
86
-
87
- Returns:
88
- Response[Any]
89
- """
90
-
91
- kwargs = _get_kwargs(
92
- private_cluster_name=private_cluster_name,
93
- )
94
-
95
- response = await client.get_async_httpx_client().request(**kwargs)
96
-
97
- return _build_response(client=client, response=response)
@@ -1,79 +0,0 @@
1
- from typing import Any, TypeVar, Union
2
-
3
- from attrs import define as _attrs_define
4
- from attrs import field as _attrs_field
5
-
6
- from ..types import UNSET, Unset
7
-
8
- T = TypeVar("T", bound="ModelPrivateCluster")
9
-
10
-
11
- @_attrs_define
12
- class ModelPrivateCluster:
13
- """Private cluster where the model deployment is deployed
14
-
15
- Attributes:
16
- base_url (Union[Unset, str]): The base url of the model in the private cluster
17
- enabled (Union[Unset, bool]): If true, the private cluster is available
18
- name (Union[Unset, str]): The name of the private cluster
19
- """
20
-
21
- base_url: Union[Unset, str] = UNSET
22
- enabled: Union[Unset, bool] = UNSET
23
- name: Union[Unset, str] = UNSET
24
- additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
25
-
26
- def to_dict(self) -> dict[str, Any]:
27
- base_url = self.base_url
28
-
29
- enabled = self.enabled
30
-
31
- name = self.name
32
-
33
- field_dict: dict[str, Any] = {}
34
- field_dict.update(self.additional_properties)
35
- field_dict.update({})
36
- if base_url is not UNSET:
37
- field_dict["baseUrl"] = base_url
38
- if enabled is not UNSET:
39
- field_dict["enabled"] = enabled
40
- if name is not UNSET:
41
- field_dict["name"] = name
42
-
43
- return field_dict
44
-
45
- @classmethod
46
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
47
- if not src_dict:
48
- return None
49
- d = src_dict.copy()
50
- base_url = d.pop("baseUrl", UNSET)
51
-
52
- enabled = d.pop("enabled", UNSET)
53
-
54
- name = d.pop("name", UNSET)
55
-
56
- model_private_cluster = cls(
57
- base_url=base_url,
58
- enabled=enabled,
59
- name=name,
60
- )
61
-
62
- model_private_cluster.additional_properties = d
63
- return model_private_cluster
64
-
65
- @property
66
- def additional_keys(self) -> list[str]:
67
- return list(self.additional_properties.keys())
68
-
69
- def __getitem__(self, key: str) -> Any:
70
- return self.additional_properties[key]
71
-
72
- def __setitem__(self, key: str, value: Any) -> None:
73
- self.additional_properties[key] = value
74
-
75
- def __delitem__(self, key: str) -> None:
76
- del self.additional_properties[key]
77
-
78
- def __contains__(self, key: str) -> bool:
79
- return key in self.additional_properties
@@ -1,183 +0,0 @@
1
- from typing import Any, TypeVar, Union
2
-
3
- from attrs import define as _attrs_define
4
- from attrs import field as _attrs_field
5
-
6
- from ..types import UNSET, Unset
7
-
8
- T = TypeVar("T", bound="PrivateCluster")
9
-
10
-
11
- @_attrs_define
12
- class PrivateCluster:
13
- """A private cluster where models can be located on.
14
-
15
- Attributes:
16
- created_at (Union[Unset, str]): The date and time when the resource was created
17
- updated_at (Union[Unset, str]): The date and time when the resource was updated
18
- created_by (Union[Unset, str]): The user or service account who created the resource
19
- updated_by (Union[Unset, str]): The user or service account who updated the resource
20
- continent (Union[Unset, str]): The private cluster's continent, used to determine the closest private cluster to
21
- serve inference requests based on the user's location
22
- country (Union[Unset, str]): The country where the private cluster is located, used to determine the closest
23
- private cluster to serve inference requests based on the user's location
24
- display_name (Union[Unset, str]): The private cluster's display Name
25
- healthy (Union[Unset, bool]): Whether the private cluster is healthy or not, used to determine if the private
26
- cluster is ready to run inference
27
- last_health_check_time (Union[Unset, str]): The private cluster's unique name
28
- latitude (Union[Unset, str]): The private cluster's latitude, used to determine the closest private cluster to
29
- serve inference requests based on the user's location
30
- longitude (Union[Unset, str]): The private cluster's longitude, used to determine the closest private cluster to
31
- serve inference requests based on the user's location
32
- name (Union[Unset, str]): The name of the private cluster, it must be unique
33
- owned_by (Union[Unset, str]): The service account (operator) that owns the cluster
34
- workspace (Union[Unset, str]): The workspace the private cluster belongs to
35
- """
36
-
37
- created_at: Union[Unset, str] = UNSET
38
- updated_at: Union[Unset, str] = UNSET
39
- created_by: Union[Unset, str] = UNSET
40
- updated_by: Union[Unset, str] = UNSET
41
- continent: Union[Unset, str] = UNSET
42
- country: Union[Unset, str] = UNSET
43
- display_name: Union[Unset, str] = UNSET
44
- healthy: Union[Unset, bool] = UNSET
45
- last_health_check_time: Union[Unset, str] = UNSET
46
- latitude: Union[Unset, str] = UNSET
47
- longitude: Union[Unset, str] = UNSET
48
- name: Union[Unset, str] = UNSET
49
- owned_by: Union[Unset, str] = UNSET
50
- workspace: Union[Unset, str] = UNSET
51
- additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
52
-
53
- def to_dict(self) -> dict[str, Any]:
54
- created_at = self.created_at
55
-
56
- updated_at = self.updated_at
57
-
58
- created_by = self.created_by
59
-
60
- updated_by = self.updated_by
61
-
62
- continent = self.continent
63
-
64
- country = self.country
65
-
66
- display_name = self.display_name
67
-
68
- healthy = self.healthy
69
-
70
- last_health_check_time = self.last_health_check_time
71
-
72
- latitude = self.latitude
73
-
74
- longitude = self.longitude
75
-
76
- name = self.name
77
-
78
- owned_by = self.owned_by
79
-
80
- workspace = self.workspace
81
-
82
- field_dict: dict[str, Any] = {}
83
- field_dict.update(self.additional_properties)
84
- field_dict.update({})
85
- if created_at is not UNSET:
86
- field_dict["createdAt"] = created_at
87
- if updated_at is not UNSET:
88
- field_dict["updatedAt"] = updated_at
89
- if created_by is not UNSET:
90
- field_dict["createdBy"] = created_by
91
- if updated_by is not UNSET:
92
- field_dict["updatedBy"] = updated_by
93
- if continent is not UNSET:
94
- field_dict["continent"] = continent
95
- if country is not UNSET:
96
- field_dict["country"] = country
97
- if display_name is not UNSET:
98
- field_dict["displayName"] = display_name
99
- if healthy is not UNSET:
100
- field_dict["healthy"] = healthy
101
- if last_health_check_time is not UNSET:
102
- field_dict["lastHealthCheckTime"] = last_health_check_time
103
- if latitude is not UNSET:
104
- field_dict["latitude"] = latitude
105
- if longitude is not UNSET:
106
- field_dict["longitude"] = longitude
107
- if name is not UNSET:
108
- field_dict["name"] = name
109
- if owned_by is not UNSET:
110
- field_dict["ownedBy"] = owned_by
111
- if workspace is not UNSET:
112
- field_dict["workspace"] = workspace
113
-
114
- return field_dict
115
-
116
- @classmethod
117
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
118
- if not src_dict:
119
- return None
120
- d = src_dict.copy()
121
- created_at = d.pop("createdAt", UNSET)
122
-
123
- updated_at = d.pop("updatedAt", UNSET)
124
-
125
- created_by = d.pop("createdBy", UNSET)
126
-
127
- updated_by = d.pop("updatedBy", UNSET)
128
-
129
- continent = d.pop("continent", UNSET)
130
-
131
- country = d.pop("country", UNSET)
132
-
133
- display_name = d.pop("displayName", UNSET)
134
-
135
- healthy = d.pop("healthy", UNSET)
136
-
137
- last_health_check_time = d.pop("lastHealthCheckTime", UNSET)
138
-
139
- latitude = d.pop("latitude", UNSET)
140
-
141
- longitude = d.pop("longitude", UNSET)
142
-
143
- name = d.pop("name", UNSET)
144
-
145
- owned_by = d.pop("ownedBy", UNSET)
146
-
147
- workspace = d.pop("workspace", UNSET)
148
-
149
- private_cluster = cls(
150
- created_at=created_at,
151
- updated_at=updated_at,
152
- created_by=created_by,
153
- updated_by=updated_by,
154
- continent=continent,
155
- country=country,
156
- display_name=display_name,
157
- healthy=healthy,
158
- last_health_check_time=last_health_check_time,
159
- latitude=latitude,
160
- longitude=longitude,
161
- name=name,
162
- owned_by=owned_by,
163
- workspace=workspace,
164
- )
165
-
166
- private_cluster.additional_properties = d
167
- return private_cluster
168
-
169
- @property
170
- def additional_keys(self) -> list[str]:
171
- return list(self.additional_properties.keys())
172
-
173
- def __getitem__(self, key: str) -> Any:
174
- return self.additional_properties[key]
175
-
176
- def __setitem__(self, key: str, value: Any) -> None:
177
- self.additional_properties[key] = value
178
-
179
- def __delitem__(self, key: str) -> None:
180
- del self.additional_properties[key]
181
-
182
- def __contains__(self, key: str) -> bool:
183
- return key in self.additional_properties
@@ -1,188 +0,0 @@
1
- from http import HTTPStatus
2
- from typing import Any, Union
3
-
4
- import httpx
5
-
6
- from ... import errors
7
- from ...client import Client
8
- from ...models.error_response import ErrorResponse
9
- from ...models.success_response import SuccessResponse
10
- from ...types import UNSET, Response, Unset
11
-
12
-
13
- def _get_kwargs(
14
- path: str,
15
- *,
16
- recursive: Union[Unset, bool] = UNSET,
17
- ) -> dict[str, Any]:
18
- params: dict[str, Any] = {}
19
-
20
- params["recursive"] = recursive
21
-
22
- params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
23
-
24
- _kwargs: dict[str, Any] = {
25
- "method": "delete",
26
- "url": f"/filesystem/tree/{path}",
27
- "params": params,
28
- }
29
-
30
- return _kwargs
31
-
32
-
33
- def _parse_response(*, client: Client, response: httpx.Response) -> Union[ErrorResponse, SuccessResponse] | None:
34
- if response.status_code == 200:
35
- response_200 = SuccessResponse.from_dict(response.json())
36
-
37
- return response_200
38
- if response.status_code == 400:
39
- response_400 = ErrorResponse.from_dict(response.json())
40
-
41
- return response_400
42
- if response.status_code == 422:
43
- response_422 = ErrorResponse.from_dict(response.json())
44
-
45
- return response_422
46
- if response.status_code == 500:
47
- response_500 = ErrorResponse.from_dict(response.json())
48
-
49
- return response_500
50
- if client.raise_on_unexpected_status:
51
- raise errors.UnexpectedStatus(response.status_code, response.content)
52
- else:
53
- return None
54
-
55
-
56
- def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[ErrorResponse, SuccessResponse]]:
57
- return Response(
58
- status_code=HTTPStatus(response.status_code),
59
- content=response.content,
60
- headers=response.headers,
61
- parsed=_parse_response(client=client, response=response),
62
- )
63
-
64
-
65
- def sync_detailed(
66
- path: str,
67
- *,
68
- client: Union[Client],
69
- recursive: Union[Unset, bool] = UNSET,
70
- ) -> Response[Union[ErrorResponse, SuccessResponse]]:
71
- """Delete directory tree
72
-
73
- Delete a directory tree recursively
74
-
75
- Args:
76
- path (str):
77
- recursive (Union[Unset, bool]):
78
-
79
- Raises:
80
- errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
81
- httpx.TimeoutException: If the request takes longer than Client.timeout.
82
-
83
- Returns:
84
- Response[Union[ErrorResponse, SuccessResponse]]
85
- """
86
-
87
- kwargs = _get_kwargs(
88
- path=path,
89
- recursive=recursive,
90
- )
91
-
92
- response = client.get_httpx_client().request(
93
- **kwargs,
94
- )
95
-
96
- return _build_response(client=client, response=response)
97
-
98
-
99
- def sync(
100
- path: str,
101
- *,
102
- client: Union[Client],
103
- recursive: Union[Unset, bool] = UNSET,
104
- ) -> Union[ErrorResponse, SuccessResponse] | None:
105
- """Delete directory tree
106
-
107
- Delete a directory tree recursively
108
-
109
- Args:
110
- path (str):
111
- recursive (Union[Unset, bool]):
112
-
113
- Raises:
114
- errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
115
- httpx.TimeoutException: If the request takes longer than Client.timeout.
116
-
117
- Returns:
118
- Union[ErrorResponse, SuccessResponse]
119
- """
120
-
121
- return sync_detailed(
122
- path=path,
123
- client=client,
124
- recursive=recursive,
125
- ).parsed
126
-
127
-
128
- async def asyncio_detailed(
129
- path: str,
130
- *,
131
- client: Union[Client],
132
- recursive: Union[Unset, bool] = UNSET,
133
- ) -> Response[Union[ErrorResponse, SuccessResponse]]:
134
- """Delete directory tree
135
-
136
- Delete a directory tree recursively
137
-
138
- Args:
139
- path (str):
140
- recursive (Union[Unset, bool]):
141
-
142
- Raises:
143
- errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
144
- httpx.TimeoutException: If the request takes longer than Client.timeout.
145
-
146
- Returns:
147
- Response[Union[ErrorResponse, SuccessResponse]]
148
- """
149
-
150
- kwargs = _get_kwargs(
151
- path=path,
152
- recursive=recursive,
153
- )
154
-
155
- response = await client.get_async_httpx_client().request(**kwargs)
156
-
157
- return _build_response(client=client, response=response)
158
-
159
-
160
- async def asyncio(
161
- path: str,
162
- *,
163
- client: Union[Client],
164
- recursive: Union[Unset, bool] = UNSET,
165
- ) -> Union[ErrorResponse, SuccessResponse] | None:
166
- """Delete directory tree
167
-
168
- Delete a directory tree recursively
169
-
170
- Args:
171
- path (str):
172
- recursive (Union[Unset, bool]):
173
-
174
- Raises:
175
- errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
176
- httpx.TimeoutException: If the request takes longer than Client.timeout.
177
-
178
- Returns:
179
- Union[ErrorResponse, SuccessResponse]
180
- """
181
-
182
- return (
183
- await asyncio_detailed(
184
- path=path,
185
- client=client,
186
- recursive=recursive,
187
- )
188
- ).parsed