blaxel 0.1.9rc37__py3-none-any.whl → 0.1.10__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.
- blaxel/authentication/__init__.py +11 -2
- blaxel/client/api/compute/create_sandbox_preview.py +179 -0
- blaxel/client/api/compute/create_sandbox_preview_token.py +192 -0
- blaxel/client/api/compute/delete_sandbox_preview.py +167 -0
- blaxel/client/api/compute/delete_sandbox_preview_token.py +180 -0
- blaxel/client/api/compute/get_sandbox_preview.py +167 -0
- blaxel/client/api/compute/list_sandbox_preview_tokens.py +172 -0
- blaxel/client/api/compute/list_sandbox_previews.py +159 -0
- blaxel/client/api/compute/update_sandbox_preview.py +192 -0
- blaxel/client/api/integrations/get_integration.py +64 -7
- blaxel/client/api/workspaces/check_workspace_availability.py +165 -0
- blaxel/client/models/__init__.py +32 -2
- blaxel/client/models/check_workspace_availability_body.py +60 -0
- blaxel/client/models/delete_sandbox_preview_token_response_200.py +60 -0
- blaxel/client/models/integration.py +197 -0
- blaxel/client/models/integration_additional_infos.py +45 -0
- blaxel/client/models/integration_endpoint.py +143 -0
- blaxel/client/models/integration_endpoint_token.py +79 -0
- blaxel/client/models/integration_endpoints.py +61 -0
- blaxel/client/models/integration_headers.py +45 -0
- blaxel/client/models/integration_organization.py +88 -0
- blaxel/client/models/integration_query_params.py +45 -0
- blaxel/client/models/metrics.py +9 -0
- blaxel/client/models/preview.py +96 -0
- blaxel/client/models/preview_metadata.py +133 -0
- blaxel/client/models/preview_spec.py +79 -0
- blaxel/client/models/preview_token.py +96 -0
- blaxel/client/models/preview_token_metadata.py +97 -0
- blaxel/client/models/preview_token_spec.py +88 -0
- blaxel/common/autoload.py +1 -0
- blaxel/common/internal.py +5 -5
- blaxel/sandbox/base.py +68 -0
- blaxel/sandbox/client/__init__.py +8 -0
- blaxel/sandbox/client/api/__init__.py +1 -0
- blaxel/sandbox/client/api/filesystem/__init__.py +0 -0
- blaxel/sandbox/client/api/filesystem/delete_filesystem_path.py +184 -0
- blaxel/sandbox/client/api/filesystem/get_filesystem_path.py +184 -0
- blaxel/sandbox/client/api/filesystem/put_filesystem_path.py +189 -0
- blaxel/sandbox/client/api/network/__init__.py +0 -0
- blaxel/sandbox/client/api/network/delete_network_process_pid_monitor.py +169 -0
- blaxel/sandbox/client/api/network/get_network_process_pid_ports.py +169 -0
- blaxel/sandbox/client/api/network/post_network_process_pid_monitor.py +195 -0
- blaxel/sandbox/client/api/process/__init__.py +0 -0
- blaxel/sandbox/client/api/process/delete_process_identifier.py +163 -0
- blaxel/sandbox/client/api/process/delete_process_identifier_kill.py +189 -0
- blaxel/sandbox/client/api/process/get_process.py +135 -0
- blaxel/sandbox/client/api/process/get_process_identifier.py +159 -0
- blaxel/sandbox/client/api/process/get_process_identifier_logs.py +188 -0
- blaxel/sandbox/client/api/process/get_process_identifier_logs_stream.py +190 -0
- blaxel/sandbox/client/api/process/post_process.py +176 -0
- blaxel/sandbox/client/client.py +162 -0
- blaxel/sandbox/client/errors.py +16 -0
- blaxel/sandbox/client/models/__init__.py +41 -0
- blaxel/sandbox/client/models/delete_network_process_pid_monitor_response_200.py +45 -0
- blaxel/sandbox/client/models/directory.py +112 -0
- blaxel/sandbox/client/models/error_response.py +60 -0
- blaxel/sandbox/client/models/file.py +105 -0
- blaxel/sandbox/client/models/file_request.py +78 -0
- blaxel/sandbox/client/models/file_with_content.py +114 -0
- blaxel/sandbox/client/models/get_network_process_pid_ports_response_200.py +45 -0
- blaxel/sandbox/client/models/get_process_identifier_logs_response_200.py +45 -0
- blaxel/sandbox/client/models/get_process_identifier_logs_stream_response_200.py +45 -0
- blaxel/sandbox/client/models/port_monitor_request.py +60 -0
- blaxel/sandbox/client/models/post_network_process_pid_monitor_response_200.py +45 -0
- blaxel/sandbox/client/models/process_kill_request.py +60 -0
- blaxel/sandbox/client/models/process_request.py +118 -0
- blaxel/sandbox/client/models/process_response.py +123 -0
- blaxel/sandbox/client/models/subdirectory.py +60 -0
- blaxel/sandbox/client/models/success_response.py +69 -0
- blaxel/sandbox/client/py.typed +1 -0
- blaxel/sandbox/client/types.py +46 -0
- blaxel/sandbox/filesystem.py +104 -0
- blaxel/sandbox/process.py +57 -0
- blaxel/sandbox/sandbox.py +92 -0
- blaxel/tools/__init__.py +1 -1
- {blaxel-0.1.9rc37.dist-info → blaxel-0.1.10.dist-info}/METADATA +1 -1
- {blaxel-0.1.9rc37.dist-info → blaxel-0.1.10.dist-info}/RECORD +79 -12
- blaxel/client/models/sandboxes.py +0 -129
- {blaxel-0.1.9rc37.dist-info → blaxel-0.1.10.dist-info}/WHEEL +0 -0
- {blaxel-0.1.9rc37.dist-info → blaxel-0.1.10.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,92 @@
|
|
1
|
+
import asyncio
|
2
|
+
import logging
|
3
|
+
import time
|
4
|
+
from typing import List
|
5
|
+
|
6
|
+
from ..client.api.compute.create_sandbox import asyncio as create_sandbox
|
7
|
+
from ..client.api.compute.delete_sandbox import asyncio as delete_sandbox
|
8
|
+
from ..client.api.compute.get_sandbox import asyncio as get_sandbox
|
9
|
+
from ..client.api.compute.list_sandboxes import asyncio as list_sandboxes
|
10
|
+
from ..client.client import client
|
11
|
+
from ..client.models import Sandbox
|
12
|
+
from .filesystem import SandboxFileSystem
|
13
|
+
from .process import SandboxProcess
|
14
|
+
|
15
|
+
logger = logging.getLogger(__name__)
|
16
|
+
|
17
|
+
class SandboxInstance:
|
18
|
+
def __init__(self, sandbox: Sandbox):
|
19
|
+
self.sandbox = sandbox
|
20
|
+
self.fs = SandboxFileSystem(sandbox)
|
21
|
+
self.process = SandboxProcess(sandbox)
|
22
|
+
|
23
|
+
@property
|
24
|
+
def metadata(self):
|
25
|
+
return self.sandbox.metadata
|
26
|
+
|
27
|
+
@property
|
28
|
+
def status(self):
|
29
|
+
return self.sandbox.status
|
30
|
+
|
31
|
+
@property
|
32
|
+
def events(self):
|
33
|
+
return self.sandbox.events
|
34
|
+
|
35
|
+
@property
|
36
|
+
def spec(self):
|
37
|
+
return self.sandbox.spec
|
38
|
+
|
39
|
+
async def wait(self, max_wait: int = 60000, interval: int = 1000) -> None:
|
40
|
+
start_time = time.time() * 1000 # Convert to milliseconds
|
41
|
+
while self.sandbox.status != "DEPLOYED":
|
42
|
+
await asyncio.sleep(interval / 1000) # Convert to seconds
|
43
|
+
try:
|
44
|
+
response = await get_sandbox(
|
45
|
+
self.sandbox.metadata.name,
|
46
|
+
client=client,
|
47
|
+
)
|
48
|
+
logger.info(f"Waiting for sandbox to be deployed, status: {response.status}")
|
49
|
+
self.sandbox = response
|
50
|
+
except Exception as e:
|
51
|
+
logger.error("Could not retrieve sandbox", exc_info=e)
|
52
|
+
|
53
|
+
if self.sandbox.status == "FAILED":
|
54
|
+
raise Exception("Sandbox failed to deploy")
|
55
|
+
|
56
|
+
if (time.time() * 1000) - start_time > max_wait:
|
57
|
+
raise Exception("Sandbox did not deploy in time")
|
58
|
+
|
59
|
+
@classmethod
|
60
|
+
async def create(cls, sandbox: Sandbox) -> "SandboxInstance":
|
61
|
+
if not sandbox.spec:
|
62
|
+
raise Exception("Sandbox spec is required")
|
63
|
+
if not sandbox.spec.runtime:
|
64
|
+
raise Exception("Sandbox runtime is required")
|
65
|
+
sandbox.spec.runtime.generation = sandbox.spec.runtime.generation or "mk3"
|
66
|
+
|
67
|
+
response = await create_sandbox(
|
68
|
+
client=client,
|
69
|
+
body=sandbox,
|
70
|
+
)
|
71
|
+
return cls(response)
|
72
|
+
|
73
|
+
@classmethod
|
74
|
+
async def get(cls, sandbox_name: str) -> "SandboxInstance":
|
75
|
+
response = await get_sandbox(
|
76
|
+
sandbox_name,
|
77
|
+
client=client,
|
78
|
+
)
|
79
|
+
return cls(response)
|
80
|
+
|
81
|
+
@classmethod
|
82
|
+
async def list(cls) -> List["SandboxInstance"]:
|
83
|
+
response = await list_sandboxes()
|
84
|
+
return [cls(sandbox) for sandbox in response]
|
85
|
+
|
86
|
+
@classmethod
|
87
|
+
async def delete(cls, sandbox_name: str) -> Sandbox:
|
88
|
+
response = await delete_sandbox(
|
89
|
+
sandbox_name,
|
90
|
+
client=client,
|
91
|
+
)
|
92
|
+
return response
|
blaxel/tools/__init__.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
blaxel/__init__.py,sha256=qmuJKjl5oGnjj4TbqHcJqUkKoxk4PvCsMb6-8rp67pE,159
|
2
2
|
blaxel/agents/__init__.py,sha256=RDWkvfICIXXaQxJuuSu63jsFj_F8NBAL4U752hfN4AE,5262
|
3
|
-
blaxel/authentication/__init__.py,sha256=
|
3
|
+
blaxel/authentication/__init__.py,sha256=tL9XKNCek5ixszTqjlKRBvidXMg4Nj6ODlBKlxxA9uk,3283
|
4
4
|
blaxel/authentication/apikey.py,sha256=nOgLVba7EfVk3V-qm7cj-30LAL-BT7NOMIlGL9Ni1jY,1249
|
5
5
|
blaxel/authentication/clientcredentials.py,sha256=SfWNuZVHZw6jjMqoBMMB4ZawmpyKbVPbOpv-JDFqzw8,3080
|
6
6
|
blaxel/authentication/devicemode.py,sha256=kWbArs4okIIDqW-ql5oV2eQRE_LpRwfadCB6LG83irw,5986
|
@@ -23,12 +23,20 @@ blaxel/client/api/agents/list_agents.py,sha256=YtuJCp_1q07VMJ0NtQijphJEWanMF3l-p
|
|
23
23
|
blaxel/client/api/agents/update_agent.py,sha256=JK8lb3Vh3vuWy8mn75EmZ3plfdNFb1SOCcdDX-QKs1s,3898
|
24
24
|
blaxel/client/api/compute/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
25
25
|
blaxel/client/api/compute/create_sandbox.py,sha256=59_VNsoAd1XiyJpjN-O3TcfrvvFI-gSLng6sbQ5gnvk,3787
|
26
|
+
blaxel/client/api/compute/create_sandbox_preview.py,sha256=1Hn4CZV7JzcN0ZuO4ypYpcrn6G4jqOkFfegM2WtWjXQ,4155
|
27
|
+
blaxel/client/api/compute/create_sandbox_preview_token.py,sha256=f30DzGy8WTGtvNWo1lvJJcN75qJQsQslwk_ZcVB5Rls,4779
|
26
28
|
blaxel/client/api/compute/delete_sandbox.py,sha256=1Dm_c_G2VHSBMbbTLMWyY8K0-LYwG-Il8d9e0SLj9kY,3555
|
29
|
+
blaxel/client/api/compute/delete_sandbox_preview.py,sha256=U4qopP03F0rLKT3eCuNewlJ8-KEFMS3gLnvormE5TAo,4014
|
30
|
+
blaxel/client/api/compute/delete_sandbox_preview_token.py,sha256=SXpnOMa8OURamEawJhIWLQc9tFSnjeeG3TSy6qrQ1iM,4841
|
27
31
|
blaxel/client/api/compute/get_sandbox.py,sha256=M1Bu-01hh36dJCvI3mMSuuJ2Y3qkyRPEtv5IcD6LK48,3540
|
32
|
+
blaxel/client/api/compute/get_sandbox_preview.py,sha256=79gqiklfJF0OaZwNsn3EGurBlTZChsXMd6Bqz_QgVGQ,3999
|
33
|
+
blaxel/client/api/compute/list_sandbox_preview_tokens.py,sha256=OKGvaRylvv5AhCfll_muDzvwjtD7Y2-jJxzIl6YhzNY,4383
|
34
|
+
blaxel/client/api/compute/list_sandbox_previews.py,sha256=TQrU5g0JuOP6RvErremwjUMus9Mn1gUpaeWhphH1F7I,3932
|
28
35
|
blaxel/client/api/compute/list_sandboxes.py,sha256=E_Y6PxnH_okG-5hR_BTxY6-MIqKVJUztBG-XBae2UIo,3469
|
29
36
|
blaxel/client/api/compute/start_sandbox.py,sha256=zDZOfPtJ09S8pmwMyFRKrN4ju1XpfMrmsjTQCKRSbvc,3845
|
30
37
|
blaxel/client/api/compute/stop_sandbox.py,sha256=IOvnmpQSYDGt09kXb7ijmYUO3YHY8Kn6bksEOHbxB2Y,3823
|
31
38
|
blaxel/client/api/compute/update_sandbox.py,sha256=efKbl6GRsDXH6UNIq9_TPf06k1Yy-nkoVYs3RuVMxco,4201
|
39
|
+
blaxel/client/api/compute/update_sandbox_preview.py,sha256=LLf3l3c92ggKVO5Roy0G43N_CkLWjXG_4-x8s_tqfOg,4612
|
32
40
|
blaxel/client/api/configurations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
33
41
|
blaxel/client/api/configurations/get_configuration.py,sha256=3RVFsuSGg0Vpr3ov54zHqMdc_a6XisT3dxpifNRajJc,3096
|
34
42
|
blaxel/client/api/default/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -47,7 +55,7 @@ blaxel/client/api/functions/update_function.py,sha256=_6FbRnYKwRpVjICXJua2ku59xx
|
|
47
55
|
blaxel/client/api/integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
48
56
|
blaxel/client/api/integrations/create_integration_connection.py,sha256=iViAGZh1TGg0bdKbMpJnoqgZNudBbzC-RZkxFwwLVIY,4163
|
49
57
|
blaxel/client/api/integrations/delete_integration_connection.py,sha256=6ERiCNGfEj0NkXhCiaf6I1ZO-n-QYPGjPjPHCuorYx8,4015
|
50
|
-
blaxel/client/api/integrations/get_integration.py,sha256=
|
58
|
+
blaxel/client/api/integrations/get_integration.py,sha256=w5V47wK5fQlLhICREcQrlT27wbCAV2hkuWQq5F3xtpw,3795
|
51
59
|
blaxel/client/api/integrations/get_integration_connection.py,sha256=gLw_xLrUrHKlwn6M46gO8-gpEwrDz2pK2gE9PJbMn6E,4000
|
52
60
|
blaxel/client/api/integrations/get_integration_connection_model.py,sha256=JJvKXQ9AGgPmcfHorLC6Ow6k_ZPBXeyqQXb5uApMDoA,2619
|
53
61
|
blaxel/client/api/integrations/get_integration_connection_model_endpoint_configurations.py,sha256=p7G7t_l5W2MAPok7d6-7XYFYEBFzRhZjH-9MIrVtnE4,2499
|
@@ -98,6 +106,7 @@ blaxel/client/api/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
|
|
98
106
|
blaxel/client/api/templates/list_templates.py,sha256=Im9cZFy37FLBqPer_FJQ7zKNYUsuas2enJK5ouQtEqM,3414
|
99
107
|
blaxel/client/api/workspaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
100
108
|
blaxel/client/api/workspaces/accept_workspace_invitation.py,sha256=zSYDXrG78l0zRb2BZMHCZW13ZocZQSolgeWVCCrdh_E,4142
|
109
|
+
blaxel/client/api/workspaces/check_workspace_availability.py,sha256=rYsBY72YjqGuWVP54Gqo76FAQ7z6XPnGEcHwGMUsxA0,4005
|
101
110
|
blaxel/client/api/workspaces/create_worspace.py,sha256=YFjDjaunD6NDdTTlyj0che5Mo27gp5oQvzuyGy6x148,3744
|
102
111
|
blaxel/client/api/workspaces/decline_workspace_invitation.py,sha256=zJtdDgb1qwWGAeUI-ybLrCfktiyyfxTo0gfYK33ClR8,3845
|
103
112
|
blaxel/client/api/workspaces/delete_workspace.py,sha256=mEuQCQ-DHXpGymgAIUK0MSFrdaA6JQJuKNLRG7AE1gU,3634
|
@@ -109,11 +118,12 @@ blaxel/client/api/workspaces/list_workspaces.py,sha256=MuVb4Ubp4e8KZZyIpukiMHoLQ
|
|
109
118
|
blaxel/client/api/workspaces/remove_workspace_user.py,sha256=OZ_Q5zvV3eUSxsmSmbkJ05r3tJgaAZEE3FrsdOpAOYE,2578
|
110
119
|
blaxel/client/api/workspaces/update_workspace.py,sha256=GJZBydA4AzUOREpQ630b_S2-3zGLkVVhU364BH1luyY,4202
|
111
120
|
blaxel/client/api/workspaces/update_workspace_user_role.py,sha256=MU4Rp_yE07wvhFcYoLV7fx_trsk-TcTYSNs59siO_W4,4866
|
112
|
-
blaxel/client/models/__init__.py,sha256=
|
121
|
+
blaxel/client/models/__init__.py,sha256=kTMY6DiU5A97a9PqWd81MVXWOpdMqXfqN1TNXd92jMQ,11356
|
113
122
|
blaxel/client/models/acl.py,sha256=tH67gsl_BMaviSbTaaIkO1g9cWZgJ6VgAnYVjQSzGZY,3952
|
114
123
|
blaxel/client/models/agent.py,sha256=VN2GMWsd7LSoWhthbezLIAqPZjQhsvMN6bqM09jZSuU,4359
|
115
124
|
blaxel/client/models/agent_spec.py,sha256=YzBpVhagqSqrEBG5oh9xO5F4nvzlZgaV3xieGRtaQDg,12260
|
116
125
|
blaxel/client/models/api_key.py,sha256=9k7XvNfdssY18CkNSVgE2pnmilMNjz-GpeyqkM_vP1s,4277
|
126
|
+
blaxel/client/models/check_workspace_availability_body.py,sha256=fGW874LWTPUC-Os12Fbo4vRkDWSPOqKPdsb4alpzHDA,1549
|
117
127
|
blaxel/client/models/configuration.py,sha256=kBRcw-KrajLGyUcevHkMJkUJP-JtYjmbKHWBKQpbVk0,2760
|
118
128
|
blaxel/client/models/continent.py,sha256=_gQJci2_MUmCiGGG4iCMnUDTww9OqcTsNVqwPVigy3U,1880
|
119
129
|
blaxel/client/models/core_event.py,sha256=KGIlp-C1K0Qq0_A7featcQohUwVfI7-H_coQZJ0AzXE,2618
|
@@ -123,6 +133,7 @@ blaxel/client/models/country.py,sha256=IYUZ6ErVduc3vmB01UEN8nIi6h5htupqFvyhRqEmK
|
|
123
133
|
blaxel/client/models/create_api_key_for_service_account_body.py,sha256=_D6aHXfZP8ksJeFlP-vEd5kEUuQAvofkaq5_N8ej_XM,2005
|
124
134
|
blaxel/client/models/create_workspace_service_account_body.py,sha256=UHKYL3MSfVGMj4CNw0CzCsjnxdOxdnw6D8ujPrc76Xw,1958
|
125
135
|
blaxel/client/models/create_workspace_service_account_response_200.py,sha256=qYHg4tbUWJWpFrSFS1pKFeBNidgwfRb2QoP_gV99dMM,3349
|
136
|
+
blaxel/client/models/delete_sandbox_preview_token_response_200.py,sha256=VZd8-qe3zvJ-Dtr4Na6DIFIkHk7eIXU1i-az2capq8o,1721
|
126
137
|
blaxel/client/models/delete_workspace_service_account_response_200.py,sha256=wJt9T1kkoiDpMq5pE9uTZhXgeTqC0ZaTB51YBPBKo0M,2968
|
127
138
|
blaxel/client/models/entrypoint.py,sha256=TZ8DyP2337SJzO77377Q4XuYuLxJTOKv2twFWphaEDI,2796
|
128
139
|
blaxel/client/models/entrypoint_env.py,sha256=vX34kBBjOkcNbisOzquU-1c9X77Ieji2AVOTKxVD_Dw,1241
|
@@ -141,11 +152,19 @@ blaxel/client/models/function_spec.py,sha256=vjvvpz4THUW05q5nYvnMxvZ5BA6cvh7e0ji
|
|
141
152
|
blaxel/client/models/get_workspace_service_accounts_response_200_item.py,sha256=ATEojS0VhRmL6a9JPWT3-fl3plosONbIWa5Jpoe4Pag,2981
|
142
153
|
blaxel/client/models/histogram_bucket.py,sha256=d80wa8ksfi4bwPQiEN9s5IArkgc8jSfZwOAEFDZOTBk,2055
|
143
154
|
blaxel/client/models/histogram_stats.py,sha256=CJMkvEhzeF8YuxQu9ZF3Ft8qoMIDyWB7fXEej6z4SXY,2342
|
155
|
+
blaxel/client/models/integration.py,sha256=XfxuUyJnVc8GiaUZWnjGYPnQmKiyGEBEa-v7AcO7w4c,8068
|
156
|
+
blaxel/client/models/integration_additional_infos.py,sha256=2Rq6IdGxoZCu7vGWEjJN6AlpqnOFOREyy8JXVlXU_Wo,1316
|
144
157
|
blaxel/client/models/integration_connection.py,sha256=w3FZOQTDFqPVMEiXcL5NeLVp_uvIFpa72TijZbdqLkw,3162
|
145
158
|
blaxel/client/models/integration_connection_spec.py,sha256=p0YvnqdAXNDg4mR5hiT8WYr4kCJkMnOG8EokVw2ERMU,4047
|
146
159
|
blaxel/client/models/integration_connection_spec_config.py,sha256=B-EEdfSSyTfm7zFTpmoz_9mbOSu3S5UCIELLD8x6OU8,1360
|
147
160
|
blaxel/client/models/integration_connection_spec_secret.py,sha256=j3haJQTt_uOO2ihzWJLrWS2rM8sOr6pJ0ckaHFRuHhE,1334
|
161
|
+
blaxel/client/models/integration_endpoint.py,sha256=ylAdTs4tYIXvNMnzkYTxppK40CNILnNXNMjUl5s6w7Q,4992
|
162
|
+
blaxel/client/models/integration_endpoint_token.py,sha256=FMVB0omPwHeFT7pGivERlVMWMUIQbuq8Cx9aGt5DXk8,2234
|
163
|
+
blaxel/client/models/integration_endpoints.py,sha256=qElM9HCQ5EsFM295TxW1Q11NP_DNXsNP7ADJi0gnEuQ,1914
|
164
|
+
blaxel/client/models/integration_headers.py,sha256=f7XQ2PFtgYXWxGaP-s6O9uK06thQYOlOi6gmlmAKVEA,1264
|
148
165
|
blaxel/client/models/integration_model.py,sha256=-2_UVeP_5xWqYfP42gU2tckirN43LKTqUyRapwke090,5086
|
166
|
+
blaxel/client/models/integration_organization.py,sha256=nabwlixDnJyaGiOGyaVVR719yP_y59ewhMgZ_cjNOiE,2542
|
167
|
+
blaxel/client/models/integration_query_params.py,sha256=TV5nepXLqsDw2ww7bv1g2AOPDYKScyY4BqvLi38s3gw,1292
|
149
168
|
blaxel/client/models/integration_repository.py,sha256=d1jn1UgTKYFfIEvpWwR20jkC2OuNx0ZIkv8iWXLxVns,2674
|
150
169
|
blaxel/client/models/invite_workspace_user_body.py,sha256=ITmKPCuOGKTHn4VjnZ2EjIj6PGPoGh-M_rzgo0VMgNM,1612
|
151
170
|
blaxel/client/models/knowledgebase.py,sha256=BJRBRvsdA50TVfIGEN1zUtOtjf25LVrdx5efPW0toCw,4487
|
@@ -161,7 +180,7 @@ blaxel/client/models/memory_allocation_metric.py,sha256=MOEUPZsXiCCepBv0nIJmKA97
|
|
161
180
|
blaxel/client/models/metadata.py,sha256=kUrFB-DMTb7eRMDANjBvzJeQ67GjqQ2yN6J4gGN34rA,4385
|
162
181
|
blaxel/client/models/metadata_labels.py,sha256=HA_fKLmJBlJlPfQKmWqZvckUpQhmMSBW9X7F4KZJ4-8,1231
|
163
182
|
blaxel/client/models/metric.py,sha256=-XUIUtDu4OTH55kJuNVPBiNsp3F-iQRM1Nv5d0QxPP4,2157
|
164
|
-
blaxel/client/models/metrics.py,sha256=
|
183
|
+
blaxel/client/models/metrics.py,sha256=aUy1o4o6nLJwPtFTRzW1VGwP2Xodoe8rBVQfOunPYHw,7511
|
165
184
|
blaxel/client/models/metrics_models.py,sha256=efxsNsedpUR8sywmcGwf89zSeF9Nctd0Qt6FPwKQdqU,1238
|
166
185
|
blaxel/client/models/metrics_request_total_per_code.py,sha256=PT5Zfn4CPXpP-mGtJMzDQ0LIVnVZVehWf6lER8IxG2Q,1348
|
167
186
|
blaxel/client/models/metrics_rps_per_code.py,sha256=CBhe8-hqpsK3lS4KepgqveAlnJRtjANoYnfXFU2lulE,1311
|
@@ -182,6 +201,12 @@ blaxel/client/models/policy_location.py,sha256=MSNHIcfK2v3FVICy1r6sJwlkJ7ClASt_5
|
|
182
201
|
blaxel/client/models/policy_max_tokens.py,sha256=KFAKKJ8yG3Nfqg6r6HsANKrkivQI2KCKLgQGVGzOQYI,3138
|
183
202
|
blaxel/client/models/policy_spec.py,sha256=A6LX0Q4HbealhZP6O0mtT6SrhfnvQHBf_3bNHt2g0uk,6066
|
184
203
|
blaxel/client/models/port.py,sha256=3mMRcMnQsrDWA07O6DmeOPzHY4z-knugDcMd0wZtYgw,2107
|
204
|
+
blaxel/client/models/preview.py,sha256=CF493_n0Gwgd3HDwI7c4fKeZmywY0fLp-J_JCzU06LQ,3024
|
205
|
+
blaxel/client/models/preview_metadata.py,sha256=vka-rLcyn7XHQfcz0HWSg7sVD4EzP340iBeLHwQCt08,4231
|
206
|
+
blaxel/client/models/preview_spec.py,sha256=B3R5VoYNEhA4UBEBJ1WtaOMgSzK3PU6t6jBBh6evOak,2087
|
207
|
+
blaxel/client/models/preview_token.py,sha256=eSJ5ZmR-_Pu8CDNhz67KBpHiGkMeKDQsUQEqrYUTg4A,3142
|
208
|
+
blaxel/client/models/preview_token_metadata.py,sha256=x7Enkor1L96AoTwrzHMTBh2PdlI1K07iOHA_Nd8t1R8,2902
|
209
|
+
blaxel/client/models/preview_token_spec.py,sha256=0ifGZoeQVUZi-qFHA-gLvC34c6GLIMkj-Tnt77v3SZo,2486
|
185
210
|
blaxel/client/models/private_cluster.py,sha256=7n5GIgiCBbD9HDNlnZNHuIIf5-nr6wZb2DSi-25O9v0,6519
|
186
211
|
blaxel/client/models/private_location.py,sha256=EhXB6EcQMnMbe4-RMBNlawJhx9a0T5i0xebrbVFjlrE,1609
|
187
212
|
blaxel/client/models/repository.py,sha256=y179VzQivkOSXq2zW-z0mGxVwIG-rZWSs_JRxxfSBhE,1791
|
@@ -208,7 +233,6 @@ blaxel/client/models/runtime_startup_probe.py,sha256=5FUuyl3eUW_pceopzrSGO9iZeNL
|
|
208
233
|
blaxel/client/models/sandbox.py,sha256=8IVAthkCUzWDkC2-D-2qze3s8FXD74JN4x9yNdxalcg,4418
|
209
234
|
blaxel/client/models/sandbox_definition.py,sha256=H0yTvcZ6kz2EnnAqmXkMZr6k0N6k9slsHprEc8qqSlg,5962
|
210
235
|
blaxel/client/models/sandbox_spec.py,sha256=Z3bj-qrW8B1lcIZ8cgg72I2-Kx8YGRnAwX4B362DS0o,8269
|
211
|
-
blaxel/client/models/sandboxes.py,sha256=rBN9RxDvPhTsSb4jyPzeR0x0TDLymWVVF0jW4fromNM,4428
|
212
236
|
blaxel/client/models/serverless_config.py,sha256=vaEFezvBUevm6hTRfC3Z_yWVZDhZnbTO0FqlqbzZYNc,3673
|
213
237
|
blaxel/client/models/serverless_config_configuration.py,sha256=bKx1mGHbBjlPyxn34lttSo_h3PdjOMriazPfPen9Y7I,1339
|
214
238
|
blaxel/client/models/spec_configuration.py,sha256=oGmMqoZSVEGedarAou-102vfw16bFevHUp4C_OW6h1k,1970
|
@@ -236,9 +260,9 @@ blaxel/client/models/workspace.py,sha256=K_xs5Z6qFVgw6ShzaSBtTLIdltcpfu1Op422IA2
|
|
236
260
|
blaxel/client/models/workspace_labels.py,sha256=WbnUY6eCTkUNdY7hhhSF-KQCl8fWFfkCf7hzCTiNp4A,1246
|
237
261
|
blaxel/client/models/workspace_runtime.py,sha256=dxEpmwCFPOCRKHRKhY-iW7j6TbtL5qUsbjzSn00uTXU,1665
|
238
262
|
blaxel/client/models/workspace_user.py,sha256=70CcifQWYbeWG7TDui4pblTzUe5sVK0AS19vNCzKE8g,3423
|
239
|
-
blaxel/common/autoload.py,sha256=
|
263
|
+
blaxel/common/autoload.py,sha256=NFuK71-IHOY2JQyEBSjDCVfUaQ8D8PJsEUEryIdG4AU,263
|
240
264
|
blaxel/common/env.py,sha256=wTbzPDdNgz4HMJiS2NCZmQlN0qpxy1PQEYBaZgtvhoc,1247
|
241
|
-
blaxel/common/internal.py,sha256=
|
265
|
+
blaxel/common/internal.py,sha256=J-etgnBzelb-ln8uBR9WIWzrEUyDds8rdT9FImjes9g,2390
|
242
266
|
blaxel/common/logger.py,sha256=emqgonfZMBIaQPowpngWOOZxWQieKP-yj_OzGZT8Oe8,1918
|
243
267
|
blaxel/common/settings.py,sha256=X0g0_hIR19qfjSeWNf8qraxb_UTSbYukVHJeRHKLTn8,2138
|
244
268
|
blaxel/instrumentation/exporters.py,sha256=EoX3uaBVku1Rg49pSNXKFyHhgY5OV3Ih6UlqgjF5epw,1670
|
@@ -260,7 +284,50 @@ blaxel/models/pydantic.py,sha256=4_z2KtaeEiRMt_Zz6Ghy6il-QiaXzE3yizDJnCBcWO8,332
|
|
260
284
|
blaxel/models/custom/langchain/gemini.py,sha256=AkhpuVMXnh1CyJ0zR2NMTtxQFPPHtAdHf_cyNzV3EsA,55421
|
261
285
|
blaxel/models/custom/llamaindex/cohere.py,sha256=Igj5Y1ozf1V4feIXfBHDdaTFU7od_wuOhm0yChZNxMY,19109
|
262
286
|
blaxel/models/custom/pydantic/gemini.py,sha256=rbsunh-M7EEKlD5ir3GlA-8a12JzPFcvsf6NISjzE5I,1052
|
263
|
-
blaxel/
|
287
|
+
blaxel/sandbox/base.py,sha256=Ps1RvasF1MB8h0-XRz3Sxz7UGjpAPaI6pvrfonUckHo,2106
|
288
|
+
blaxel/sandbox/filesystem.py,sha256=3dvg92owjHypv0aFmBdx6i9QfMSfp6z9Z0D93yKfeiQ,4653
|
289
|
+
blaxel/sandbox/process.py,sha256=EWI6UctxdWo4Vd4VUSilABJME3g3x3ceuSuBN2mDfhM,2519
|
290
|
+
blaxel/sandbox/sandbox.py,sha256=meRE_iUx1dvlav-RIBdzQLrrHE_efBTtcbq-u9_mId4,2992
|
291
|
+
blaxel/sandbox/client/__init__.py,sha256=N26bD5o1jsTb48oExow6Rgivd8ylaU9jaWZfZsVilP8,128
|
292
|
+
blaxel/sandbox/client/client.py,sha256=tcP8cJ4Q3dV9aB3yQ01dDXO-ekfsa3WGGFz4DQAEf8I,7079
|
293
|
+
blaxel/sandbox/client/errors.py,sha256=gO8GBmKqmSNgAg-E5oT-oOyxztvp7V_6XG7OUTT15q0,546
|
294
|
+
blaxel/sandbox/client/py.typed,sha256=8ZJUsxZiuOy1oJeVhsTWQhTG_6pTVHVXk5hJL79ebTk,25
|
295
|
+
blaxel/sandbox/client/types.py,sha256=E1hhDh_zXfsSQ0NCt9-uw90_Mr5iIlsdfnfvxv5HarU,1005
|
296
|
+
blaxel/sandbox/client/api/__init__.py,sha256=zTSiG_ujSjAqWPyc435YXaX9XTlpMjiJWBbV-f-YtdA,45
|
297
|
+
blaxel/sandbox/client/api/filesystem/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
298
|
+
blaxel/sandbox/client/api/filesystem/delete_filesystem_path.py,sha256=PVm-a_nacy6QQb6mh_HIDx-JkiFYeUOypHZq0AtE6dA,4782
|
299
|
+
blaxel/sandbox/client/api/filesystem/get_filesystem_path.py,sha256=Hp8pM8xvi5zAjO5xujAbKxALUBJHH-JdyvWIEJ8dHo0,5010
|
300
|
+
blaxel/sandbox/client/api/filesystem/put_filesystem_path.py,sha256=GIqwjevow7sRw5Po9iraYY1Yl5UXqgv2pjUw9nle97E,4759
|
301
|
+
blaxel/sandbox/client/api/network/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
302
|
+
blaxel/sandbox/client/api/network/delete_network_process_pid_monitor.py,sha256=nhQe7a4PqBhFQ6pZxSPilcvg-tt3jP0tmuX3Po8bd9g,4581
|
303
|
+
blaxel/sandbox/client/api/network/get_network_process_pid_ports.py,sha256=2lsDR78DMqJChOHe84JCy2iTHGIEDnzDArm4SMnt3JY,4455
|
304
|
+
blaxel/sandbox/client/api/network/post_network_process_pid_monitor.py,sha256=3sUYnFyMwpypQfLBZvIcFB9v8RrhNIMOKGb1uM15pzU,5235
|
305
|
+
blaxel/sandbox/client/api/process/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
306
|
+
blaxel/sandbox/client/api/process/delete_process_identifier.py,sha256=7ihlG9_R7p-sbw_4h93cnOyBGYhiWfFtpsjY6z9P7iQ,4179
|
307
|
+
blaxel/sandbox/client/api/process/delete_process_identifier_kill.py,sha256=1x_KMc7uJD_fap8uoTmZkWIDTgLJKmCTGcOP1Mr6X1E,4858
|
308
|
+
blaxel/sandbox/client/api/process/get_process.py,sha256=XWf_hNFZLkS14eWjBjir22QwdtV313_llrQGExJ7lZo,3588
|
309
|
+
blaxel/sandbox/client/api/process/get_process_identifier.py,sha256=OqmxuKKHDGX6rwS0Mavn6nnL0X_7AasPUdS5RS04URc,4159
|
310
|
+
blaxel/sandbox/client/api/process/get_process_identifier_logs.py,sha256=Mj07ddD2CHonZuiNIi4RzxVC9KQEr64MhLE5820Bc9Y,5152
|
311
|
+
blaxel/sandbox/client/api/process/get_process_identifier_logs_stream.py,sha256=hvhZWPxAir1EQA0L-5aI6WdRzaCOvnk5jPoBlfdjPZE,5343
|
312
|
+
blaxel/sandbox/client/api/process/post_process.py,sha256=cemvWEtrZ24RBx3QHusE9Al_yrgQip9nBSkaQhSGUkI,4527
|
313
|
+
blaxel/sandbox/client/models/__init__.py,sha256=wNEW4zTQ9Y0aIsnjfTtMrUHaMBm6mavWuTCzF-hAzms,1508
|
314
|
+
blaxel/sandbox/client/models/delete_network_process_pid_monitor_response_200.py,sha256=9cQgKDjG98sMridjXKgeR2oZzFKcQ0G9QIojhwYFosI,1376
|
315
|
+
blaxel/sandbox/client/models/directory.py,sha256=ApgBGjZApuhbTD6HKEzOIwk1IurrhpjuyupKlZcBj4c,3597
|
316
|
+
blaxel/sandbox/client/models/error_response.py,sha256=lI15zKBoD2X9yHzSiEaYGUn5TPTxWM7j1Tu5crtd23M,1581
|
317
|
+
blaxel/sandbox/client/models/file.py,sha256=0CHScaMKrE_Eu3XfMVPAY7GAppQUKwG3VhSr5rp7T1A,2813
|
318
|
+
blaxel/sandbox/client/models/file_request.py,sha256=xOZSru-fae-En-_2YBgkHa_6iGbqbJsG3RLqBuajVY0,2227
|
319
|
+
blaxel/sandbox/client/models/file_with_content.py,sha256=Fou1vfbdPPOg2l2YTU2Q2M23V7iaFy3BFVKSGQ3jvN8,3131
|
320
|
+
blaxel/sandbox/client/models/get_network_process_pid_ports_response_200.py,sha256=x4uv80kK0GVroWO98l5sE84a6uwZ8pnUKTpGg81ipWA,1351
|
321
|
+
blaxel/sandbox/client/models/get_process_identifier_logs_response_200.py,sha256=pEs9vxD29oxrojOgeyppXXmFVvem7beWzm5_i4TkgDc,1343
|
322
|
+
blaxel/sandbox/client/models/get_process_identifier_logs_stream_response_200.py,sha256=EZndHWB9OhAv9PNC_NCOSEF0vZjDQfJibjCXi3l76pw,1376
|
323
|
+
blaxel/sandbox/client/models/port_monitor_request.py,sha256=LK7sjAK1TF1ojgG4vGytaKLVtV6-SNXxfZ3sxew1cRE,1698
|
324
|
+
blaxel/sandbox/client/models/post_network_process_pid_monitor_response_200.py,sha256=Y8BvNGKU8SlzTGqhaQZk_WWIrmFpNU0LVcmLFjNvqhA,1366
|
325
|
+
blaxel/sandbox/client/models/process_kill_request.py,sha256=TqhuOmVPm_yKZj52YFv3yyu2UA8eVgXEio4sgCVAR-0,1614
|
326
|
+
blaxel/sandbox/client/models/process_request.py,sha256=FGWl2SnuHdBY-8t_YatpKwYCUfA3LMHt8RnU0hjPcLc,3598
|
327
|
+
blaxel/sandbox/client/models/process_response.py,sha256=WMfxuNTrL5wo5QT7HOR4_CTyf9XztO5cPvmtlHMdNd8,3624
|
328
|
+
blaxel/sandbox/client/models/subdirectory.py,sha256=nJxyF6vc3iHK-36uR3oi-yhuBCJfmoLo8-4dwBjJJLU,1537
|
329
|
+
blaxel/sandbox/client/models/success_response.py,sha256=JQbCUIdVJy_TJ3mp8IuvCGbKgCm_iZQMMrqn8uZkxCk,1874
|
330
|
+
blaxel/tools/__init__.py,sha256=4lzqDt0FNWcO8L0DkFzY1KTHLNtgEux66id4Psq7sXY,11520
|
264
331
|
blaxel/tools/common.py,sha256=JGK052v_fvwWBFYnIArlBnFFViYyFrqdDn3gdVf53EU,1332
|
265
332
|
blaxel/tools/crewai.py,sha256=rPrRGwkXejunJQ6In1IsYAxJPNbr6d9EckXrSIHQods,638
|
266
333
|
blaxel/tools/googleadk.py,sha256=65qJysecgAMujxsyGxuCEVL0fWoR5I489DMiSA3ZaGs,2265
|
@@ -270,7 +337,7 @@ blaxel/tools/llamaindex.py,sha256=-gQ-C9V_h9a11J4ItsbWjXrCJOg0lRKsb98v9rVsNak,71
|
|
270
337
|
blaxel/tools/openai.py,sha256=GuFXkj6bXEwldyVr89jEsRAi5ihZUVEVe327QuWiGNs,653
|
271
338
|
blaxel/tools/pydantic.py,sha256=CvnNbAG_J4yBtA-XFI4lQrq3FYKjNd39hu841vZT004,1801
|
272
339
|
blaxel/tools/types.py,sha256=YPCGJ4vZDhqR0X2H_TWtc5chQScsC32nGTQdRKJlO8Y,707
|
273
|
-
blaxel-0.1.
|
274
|
-
blaxel-0.1.
|
275
|
-
blaxel-0.1.
|
276
|
-
blaxel-0.1.
|
340
|
+
blaxel-0.1.10.dist-info/METADATA,sha256=V-mqu--en26SEhF2oJiV9XMsP38NOioTTQQmKPL_CCA,11603
|
341
|
+
blaxel-0.1.10.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
342
|
+
blaxel-0.1.10.dist-info/licenses/LICENSE,sha256=p5PNQvpvyDT_0aYBDgmV1fFI_vAD2aSV0wWG7VTgRis,1069
|
343
|
+
blaxel-0.1.10.dist-info/RECORD,,
|
@@ -1,129 +0,0 @@
|
|
1
|
-
from typing import TYPE_CHECKING, 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
|
-
if TYPE_CHECKING:
|
9
|
-
from ..models.core_event import CoreEvent
|
10
|
-
from ..models.metadata import Metadata
|
11
|
-
from ..models.sandbox_spec import SandboxSpec
|
12
|
-
|
13
|
-
|
14
|
-
T = TypeVar("T", bound="Sandboxes")
|
15
|
-
|
16
|
-
|
17
|
-
@_attrs_define
|
18
|
-
class Sandboxes:
|
19
|
-
"""Micro VM for running agentic tasks
|
20
|
-
|
21
|
-
Attributes:
|
22
|
-
events (Union[Unset, list['CoreEvent']]): Core events
|
23
|
-
metadata (Union[Unset, Metadata]): Metadata
|
24
|
-
spec (Union[Unset, SandboxSpec]): Sandbox specification
|
25
|
-
status (Union[Unset, str]): Sandbox status
|
26
|
-
"""
|
27
|
-
|
28
|
-
events: Union[Unset, list["CoreEvent"]] = UNSET
|
29
|
-
metadata: Union[Unset, "Metadata"] = UNSET
|
30
|
-
spec: Union[Unset, "SandboxSpec"] = UNSET
|
31
|
-
status: Union[Unset, str] = UNSET
|
32
|
-
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
33
|
-
|
34
|
-
def to_dict(self) -> dict[str, Any]:
|
35
|
-
events: Union[Unset, list[dict[str, Any]]] = UNSET
|
36
|
-
if not isinstance(self.events, Unset):
|
37
|
-
events = []
|
38
|
-
for componentsschemas_core_events_item_data in self.events:
|
39
|
-
if type(componentsschemas_core_events_item_data) == dict:
|
40
|
-
componentsschemas_core_events_item = componentsschemas_core_events_item_data
|
41
|
-
else:
|
42
|
-
componentsschemas_core_events_item = componentsschemas_core_events_item_data.to_dict()
|
43
|
-
events.append(componentsschemas_core_events_item)
|
44
|
-
|
45
|
-
metadata: Union[Unset, dict[str, Any]] = UNSET
|
46
|
-
if self.metadata and not isinstance(self.metadata, Unset) and not isinstance(self.metadata, dict):
|
47
|
-
metadata = self.metadata.to_dict()
|
48
|
-
elif self.metadata and isinstance(self.metadata, dict):
|
49
|
-
metadata = self.metadata
|
50
|
-
|
51
|
-
spec: Union[Unset, dict[str, Any]] = UNSET
|
52
|
-
if self.spec and not isinstance(self.spec, Unset) and not isinstance(self.spec, dict):
|
53
|
-
spec = self.spec.to_dict()
|
54
|
-
elif self.spec and isinstance(self.spec, dict):
|
55
|
-
spec = self.spec
|
56
|
-
|
57
|
-
status = self.status
|
58
|
-
|
59
|
-
field_dict: dict[str, Any] = {}
|
60
|
-
field_dict.update(self.additional_properties)
|
61
|
-
field_dict.update({})
|
62
|
-
if events is not UNSET:
|
63
|
-
field_dict["events"] = events
|
64
|
-
if metadata is not UNSET:
|
65
|
-
field_dict["metadata"] = metadata
|
66
|
-
if spec is not UNSET:
|
67
|
-
field_dict["spec"] = spec
|
68
|
-
if status is not UNSET:
|
69
|
-
field_dict["status"] = status
|
70
|
-
|
71
|
-
return field_dict
|
72
|
-
|
73
|
-
@classmethod
|
74
|
-
def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
|
75
|
-
from ..models.core_event import CoreEvent
|
76
|
-
from ..models.metadata import Metadata
|
77
|
-
from ..models.sandbox_spec import SandboxSpec
|
78
|
-
|
79
|
-
if not src_dict:
|
80
|
-
return None
|
81
|
-
d = src_dict.copy()
|
82
|
-
events = []
|
83
|
-
_events = d.pop("events", UNSET)
|
84
|
-
for componentsschemas_core_events_item_data in _events or []:
|
85
|
-
componentsschemas_core_events_item = CoreEvent.from_dict(componentsschemas_core_events_item_data)
|
86
|
-
|
87
|
-
events.append(componentsschemas_core_events_item)
|
88
|
-
|
89
|
-
_metadata = d.pop("metadata", UNSET)
|
90
|
-
metadata: Union[Unset, Metadata]
|
91
|
-
if isinstance(_metadata, Unset):
|
92
|
-
metadata = UNSET
|
93
|
-
else:
|
94
|
-
metadata = Metadata.from_dict(_metadata)
|
95
|
-
|
96
|
-
_spec = d.pop("spec", UNSET)
|
97
|
-
spec: Union[Unset, SandboxSpec]
|
98
|
-
if isinstance(_spec, Unset):
|
99
|
-
spec = UNSET
|
100
|
-
else:
|
101
|
-
spec = SandboxSpec.from_dict(_spec)
|
102
|
-
|
103
|
-
status = d.pop("status", UNSET)
|
104
|
-
|
105
|
-
sandboxes = cls(
|
106
|
-
events=events,
|
107
|
-
metadata=metadata,
|
108
|
-
spec=spec,
|
109
|
-
status=status,
|
110
|
-
)
|
111
|
-
|
112
|
-
sandboxes.additional_properties = d
|
113
|
-
return sandboxes
|
114
|
-
|
115
|
-
@property
|
116
|
-
def additional_keys(self) -> list[str]:
|
117
|
-
return list(self.additional_properties.keys())
|
118
|
-
|
119
|
-
def __getitem__(self, key: str) -> Any:
|
120
|
-
return self.additional_properties[key]
|
121
|
-
|
122
|
-
def __setitem__(self, key: str, value: Any) -> None:
|
123
|
-
self.additional_properties[key] = value
|
124
|
-
|
125
|
-
def __delitem__(self, key: str) -> None:
|
126
|
-
del self.additional_properties[key]
|
127
|
-
|
128
|
-
def __contains__(self, key: str) -> bool:
|
129
|
-
return key in self.additional_properties
|
File without changes
|
File without changes
|