continuous-labs 0.2.3__tar.gz → 0.2.4__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.
- {continuous_labs-0.2.3/src/continuous_labs.egg-info → continuous_labs-0.2.4}/PKG-INFO +2 -1
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/README-PYPI.md +1 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/README.md +1 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/pyproject.toml +1 -1
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/_version.py +2 -2
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/__init__.py +24 -0
- continuous_labs-0.2.4/src/continuous/models/clone_simulatorop.py +25 -0
- continuous_labs-0.2.4/src/continuous/models/clonesimulatorrequest.py +43 -0
- continuous_labs-0.2.4/src/continuous/models/clonesimulatorresponse.py +30 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/specificationwarning.py +0 -1
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/sdk.py +1 -1
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/simulators.py +231 -1
- {continuous_labs-0.2.3 → continuous_labs-0.2.4/src/continuous_labs.egg-info}/PKG-INFO +2 -1
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous_labs.egg-info/SOURCES.txt +3 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/LICENSE +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/setup.cfg +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/__init__.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/_hooks/__init__.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/_hooks/registration.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/_hooks/sdkhooks.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/_hooks/types.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/basesdk.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/errors/__init__.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/errors/continuousdefaulterror.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/errors/continuouserror.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/errors/error.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/errors/no_response_error.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/errors/responsevalidationerror.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/httpclient.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/advance_simulationop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/advance_worldop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/advancetimerequest.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/build_simulatorop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/buildsimulatorrequest.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/buildworldrequest.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/cancel_simulatorop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/cancel_worldop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/clockadvance.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/clockadvancemember.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/clockevent.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/create_simulationop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/createdsimulation.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/createsimulationrequest.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/currentsimulationtoken.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/delete_simulationop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/delete_simulatorop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/delete_worldop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/fork_simulationop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/forksimulationrequest.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/get_simulation_advanceop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/get_simulation_tokenop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/get_simulationop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/get_simulatorop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/get_world_advanceop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/get_worldop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/limitation.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/list_simulation_advance_eventsop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/list_simulation_stepsop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/list_simulationsop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/list_simulatorsop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/list_worldsop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/listclockadvanceeventsresponse.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/listsimulationsresponse.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/listsimulationstepsresponse.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/listsimulatorsresponse.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/listworldsresponse.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/regenerate_simulation_tokenop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/resourceerror.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/security.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/simulation.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/simulationdetail.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/simulator.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/simulatoractor.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/simulatorbuildprogress.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/simulatorerror.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/specificationissue.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/specificationvalidation.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/start_simulationop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/start_worldop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/startworldrequest.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/step.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/stop_simulationop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/stop_worldop.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/world.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/worldbuildprogress.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/worlddatasummary.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/worlderror.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/worldrecordcount.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/worldsimulation.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/py.typed +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/sdkconfiguration.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/simulations.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/types/__init__.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/types/base64fileinput.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/types/basemodel.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/utils/__init__.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/utils/annotations.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/utils/datetimes.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/utils/dynamic_imports.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/utils/enums.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/utils/eventstreaming.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/utils/forms.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/utils/headers.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/utils/logger.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/utils/metadata.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/utils/queryparams.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/utils/requestbodies.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/utils/retries.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/utils/security.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/utils/serializers.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/utils/unmarshal_json_response.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/utils/url.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/utils/values.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/worlds.py +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous_labs.egg-info/dependency_links.txt +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous_labs.egg-info/requires.txt +0 -0
- {continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous_labs.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: continuous-labs
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.4
|
|
4
4
|
Summary: Python SDK for the Continuous Simulation API.
|
|
5
5
|
Author: Continuous Labs
|
|
6
6
|
License: MIT
|
|
@@ -227,6 +227,7 @@ with Continuous(
|
|
|
227
227
|
* [delete_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#delete_simulator) - Delete Simulator
|
|
228
228
|
* [get_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#get_simulator) - Get Simulator
|
|
229
229
|
* [cancel_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#cancel_simulator) - Cancel Simulator Build
|
|
230
|
+
* [clone_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#clone_simulator) - Clone Simulator
|
|
230
231
|
|
|
231
232
|
### [Worlds](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/worlds/README.md)
|
|
232
233
|
|
|
@@ -212,6 +212,7 @@ with Continuous(
|
|
|
212
212
|
* [delete_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#delete_simulator) - Delete Simulator
|
|
213
213
|
* [get_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#get_simulator) - Get Simulator
|
|
214
214
|
* [cancel_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#cancel_simulator) - Cancel Simulator Build
|
|
215
|
+
* [clone_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#clone_simulator) - Clone Simulator
|
|
215
216
|
|
|
216
217
|
### [Worlds](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/worlds/README.md)
|
|
217
218
|
|
|
@@ -212,6 +212,7 @@ with Continuous(
|
|
|
212
212
|
* [delete_simulator](docs/sdks/simulators/README.md#delete_simulator) - Delete Simulator
|
|
213
213
|
* [get_simulator](docs/sdks/simulators/README.md#get_simulator) - Get Simulator
|
|
214
214
|
* [cancel_simulator](docs/sdks/simulators/README.md#cancel_simulator) - Cancel Simulator Build
|
|
215
|
+
* [clone_simulator](docs/sdks/simulators/README.md#clone_simulator) - Clone Simulator
|
|
215
216
|
|
|
216
217
|
### [Worlds](docs/sdks/worlds/README.md)
|
|
217
218
|
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
import importlib.metadata
|
|
4
4
|
|
|
5
5
|
__title__: str = "continuous-labs"
|
|
6
|
-
__version__: str = "0.2.
|
|
6
|
+
__version__: str = "0.2.4"
|
|
7
7
|
__openapi_doc_version__: str = "v1"
|
|
8
8
|
__gen_version__: str = "2.935.1"
|
|
9
|
-
__user_agent__: str = "speakeasy-sdk/python 0.2.
|
|
9
|
+
__user_agent__: str = "speakeasy-sdk/python 0.2.4 2.935.1 v1 continuous-labs"
|
|
10
10
|
|
|
11
11
|
try:
|
|
12
12
|
if __package__ is not None:
|
|
@@ -42,6 +42,18 @@ if TYPE_CHECKING:
|
|
|
42
42
|
ClockAdvanceMemberTypedDict,
|
|
43
43
|
)
|
|
44
44
|
from .clockevent import ClockEvent, ClockEventTypedDict
|
|
45
|
+
from .clone_simulatorop import (
|
|
46
|
+
CloneSimulatorRequestRequest,
|
|
47
|
+
CloneSimulatorRequestRequestTypedDict,
|
|
48
|
+
)
|
|
49
|
+
from .clonesimulatorrequest import (
|
|
50
|
+
CloneSimulatorRequest,
|
|
51
|
+
CloneSimulatorRequestTypedDict,
|
|
52
|
+
)
|
|
53
|
+
from .clonesimulatorresponse import (
|
|
54
|
+
CloneSimulatorResponse,
|
|
55
|
+
CloneSimulatorResponseTypedDict,
|
|
56
|
+
)
|
|
45
57
|
from .create_simulationop import (
|
|
46
58
|
CreateSimulationResponse,
|
|
47
59
|
CreateSimulationResponseTypedDict,
|
|
@@ -247,6 +259,12 @@ __all__ = [
|
|
|
247
259
|
"ClockAdvanceTypedDict",
|
|
248
260
|
"ClockEvent",
|
|
249
261
|
"ClockEventTypedDict",
|
|
262
|
+
"CloneSimulatorRequest",
|
|
263
|
+
"CloneSimulatorRequestRequest",
|
|
264
|
+
"CloneSimulatorRequestRequestTypedDict",
|
|
265
|
+
"CloneSimulatorRequestTypedDict",
|
|
266
|
+
"CloneSimulatorResponse",
|
|
267
|
+
"CloneSimulatorResponseTypedDict",
|
|
250
268
|
"CreateSimulationRequest",
|
|
251
269
|
"CreateSimulationRequestTypedDict",
|
|
252
270
|
"CreateSimulationResponse",
|
|
@@ -418,6 +436,12 @@ _dynamic_imports: dict[str, str] = {
|
|
|
418
436
|
"ClockAdvanceMemberTypedDict": ".clockadvancemember",
|
|
419
437
|
"ClockEvent": ".clockevent",
|
|
420
438
|
"ClockEventTypedDict": ".clockevent",
|
|
439
|
+
"CloneSimulatorRequestRequest": ".clone_simulatorop",
|
|
440
|
+
"CloneSimulatorRequestRequestTypedDict": ".clone_simulatorop",
|
|
441
|
+
"CloneSimulatorRequest": ".clonesimulatorrequest",
|
|
442
|
+
"CloneSimulatorRequestTypedDict": ".clonesimulatorrequest",
|
|
443
|
+
"CloneSimulatorResponse": ".clonesimulatorresponse",
|
|
444
|
+
"CloneSimulatorResponseTypedDict": ".clonesimulatorresponse",
|
|
421
445
|
"CreateSimulationResponse": ".create_simulationop",
|
|
422
446
|
"CreateSimulationResponseTypedDict": ".create_simulationop",
|
|
423
447
|
"CreatedSimulation": ".createdsimulation",
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .clonesimulatorrequest import CloneSimulatorRequest, CloneSimulatorRequestTypedDict
|
|
5
|
+
from continuous.types import BaseModel
|
|
6
|
+
from continuous.utils import FieldMetadata, PathParamMetadata, RequestMetadata
|
|
7
|
+
from typing_extensions import Annotated, TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class CloneSimulatorRequestRequestTypedDict(TypedDict):
|
|
11
|
+
id: str
|
|
12
|
+
r"""Source Simulator ID."""
|
|
13
|
+
body: CloneSimulatorRequestTypedDict
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class CloneSimulatorRequestRequest(BaseModel):
|
|
17
|
+
id: Annotated[
|
|
18
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
|
19
|
+
]
|
|
20
|
+
r"""Source Simulator ID."""
|
|
21
|
+
|
|
22
|
+
body: Annotated[
|
|
23
|
+
CloneSimulatorRequest,
|
|
24
|
+
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
|
25
|
+
]
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from continuous.types import BaseModel, UNSET_SENTINEL
|
|
5
|
+
from pydantic import model_serializer
|
|
6
|
+
from typing import Optional
|
|
7
|
+
from typing_extensions import NotRequired, TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class CloneSimulatorRequestTypedDict(TypedDict):
|
|
11
|
+
idempotency_key: str
|
|
12
|
+
r"""Stable key for retrying this clone into the target workspace."""
|
|
13
|
+
target_workspace_id: str
|
|
14
|
+
r"""Workspace that receives the clone. It must differ from the source workspace."""
|
|
15
|
+
name: NotRequired[str]
|
|
16
|
+
r"""Display name for the clone. Defaults to the source Simulator's name."""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class CloneSimulatorRequest(BaseModel):
|
|
20
|
+
idempotency_key: str
|
|
21
|
+
r"""Stable key for retrying this clone into the target workspace."""
|
|
22
|
+
|
|
23
|
+
target_workspace_id: str
|
|
24
|
+
r"""Workspace that receives the clone. It must differ from the source workspace."""
|
|
25
|
+
|
|
26
|
+
name: Optional[str] = None
|
|
27
|
+
r"""Display name for the clone. Defaults to the source Simulator's name."""
|
|
28
|
+
|
|
29
|
+
@model_serializer(mode="wrap")
|
|
30
|
+
def serialize_model(self, handler):
|
|
31
|
+
optional_fields = set(["name"])
|
|
32
|
+
serialized = handler(self)
|
|
33
|
+
m = {}
|
|
34
|
+
|
|
35
|
+
for n, f in type(self).model_fields.items():
|
|
36
|
+
k = f.alias or n
|
|
37
|
+
val = serialized.get(k, serialized.get(n))
|
|
38
|
+
|
|
39
|
+
if val != UNSET_SENTINEL:
|
|
40
|
+
if val is not None or k not in optional_fields:
|
|
41
|
+
m[k] = val
|
|
42
|
+
|
|
43
|
+
return m
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from continuous.types import BaseModel
|
|
5
|
+
from typing_extensions import TypedDict
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class CloneSimulatorResponseTypedDict(TypedDict):
|
|
9
|
+
digest: str
|
|
10
|
+
r"""OCI manifest digest, unchanged from the source."""
|
|
11
|
+
id: str
|
|
12
|
+
r"""New Simulator ID in the target workspace, or the same ID on an idempotent retry."""
|
|
13
|
+
name: str
|
|
14
|
+
r"""Display name of the clone."""
|
|
15
|
+
workspace_id: str
|
|
16
|
+
r"""Target workspace."""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class CloneSimulatorResponse(BaseModel):
|
|
20
|
+
digest: str
|
|
21
|
+
r"""OCI manifest digest, unchanged from the source."""
|
|
22
|
+
|
|
23
|
+
id: str
|
|
24
|
+
r"""New Simulator ID in the target workspace, or the same ID on an idempotent retry."""
|
|
25
|
+
|
|
26
|
+
name: str
|
|
27
|
+
r"""Display name of the clone."""
|
|
28
|
+
|
|
29
|
+
workspace_id: str
|
|
30
|
+
r"""Target workspace."""
|
|
@@ -26,7 +26,7 @@ class Continuous(BaseSDK):
|
|
|
26
26
|
simulations: "Simulations"
|
|
27
27
|
r"""Create Simulations from ready Simulators, then fork, stop, start, and delete them."""
|
|
28
28
|
simulators: "Simulators"
|
|
29
|
-
r"""Build Simulators from OpenAPI or WSDL documents, check or cancel a build, and delete Simulators."""
|
|
29
|
+
r"""Build Simulators from OpenAPI or WSDL documents, check or cancel a build, clone Simulators into other workspaces, and delete Simulators."""
|
|
30
30
|
worlds: "Worlds"
|
|
31
31
|
r"""Build Worlds from one or more Simulators and start or stop their Simulations together."""
|
|
32
32
|
_sub_sdk_map = {
|
|
@@ -10,7 +10,7 @@ from typing import Any, Mapping, Optional, Union
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class Simulators(BaseSDK):
|
|
13
|
-
r"""Build Simulators from OpenAPI or WSDL documents, check or cancel a build, and delete Simulators."""
|
|
13
|
+
r"""Build Simulators from OpenAPI or WSDL documents, check or cancel a build, clone Simulators into other workspaces, and delete Simulators."""
|
|
14
14
|
|
|
15
15
|
def list_simulators(
|
|
16
16
|
self,
|
|
@@ -1057,3 +1057,233 @@ class Simulators(BaseSDK):
|
|
|
1057
1057
|
)
|
|
1058
1058
|
|
|
1059
1059
|
raise errors.ContinuousDefaultError("Unexpected response received", http_res)
|
|
1060
|
+
|
|
1061
|
+
def clone_simulator(
|
|
1062
|
+
self,
|
|
1063
|
+
*,
|
|
1064
|
+
id: str,
|
|
1065
|
+
idempotency_key: str,
|
|
1066
|
+
target_workspace_id: str,
|
|
1067
|
+
name: Optional[str] = None,
|
|
1068
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
1069
|
+
server_url: Optional[str] = None,
|
|
1070
|
+
timeout_ms: Optional[int] = None,
|
|
1071
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
1072
|
+
) -> models.CloneSimulatorResponse:
|
|
1073
|
+
r"""Clone Simulator
|
|
1074
|
+
|
|
1075
|
+
Creates a ready copy of a ready Simulator in another workspace. The clone has a new ID and the source's image digest; the source is unchanged. The source is the caller's workspace: an API key's own workspace, or X-Workspace-Id for a session. An API key may clone into any other workspace of its organization.
|
|
1076
|
+
|
|
1077
|
+
:param id: Source Simulator ID.
|
|
1078
|
+
:param idempotency_key: Stable key for retrying this clone into the target workspace.
|
|
1079
|
+
:param target_workspace_id: Workspace that receives the clone. It must differ from the source workspace.
|
|
1080
|
+
:param name: Display name for the clone. Defaults to the source Simulator's name.
|
|
1081
|
+
:param retries: Override the default retry configuration for this method
|
|
1082
|
+
:param server_url: Override the default server URL for this method
|
|
1083
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
1084
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
1085
|
+
"""
|
|
1086
|
+
base_url = None
|
|
1087
|
+
url_variables = None
|
|
1088
|
+
if timeout_ms is None:
|
|
1089
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
1090
|
+
|
|
1091
|
+
if server_url is not None:
|
|
1092
|
+
base_url = server_url
|
|
1093
|
+
else:
|
|
1094
|
+
base_url = self._get_url(base_url, url_variables)
|
|
1095
|
+
|
|
1096
|
+
request = models.CloneSimulatorRequestRequest(
|
|
1097
|
+
id=id,
|
|
1098
|
+
body=models.CloneSimulatorRequest(
|
|
1099
|
+
idempotency_key=idempotency_key,
|
|
1100
|
+
name=name,
|
|
1101
|
+
target_workspace_id=target_workspace_id,
|
|
1102
|
+
),
|
|
1103
|
+
)
|
|
1104
|
+
|
|
1105
|
+
req = self._build_request(
|
|
1106
|
+
method="POST",
|
|
1107
|
+
path="/v1/simulators/{id}/clone",
|
|
1108
|
+
base_url=base_url,
|
|
1109
|
+
url_variables=url_variables,
|
|
1110
|
+
request=request,
|
|
1111
|
+
request_body_required=True,
|
|
1112
|
+
request_has_path_params=True,
|
|
1113
|
+
request_has_query_params=True,
|
|
1114
|
+
user_agent_header="user-agent",
|
|
1115
|
+
accept_header_value="application/json",
|
|
1116
|
+
http_headers=http_headers,
|
|
1117
|
+
security=self.sdk_configuration.security,
|
|
1118
|
+
get_serialized_body=lambda: utils.serialize_request_body(
|
|
1119
|
+
request.body, False, False, "json", models.CloneSimulatorRequest
|
|
1120
|
+
),
|
|
1121
|
+
allow_empty_value=None,
|
|
1122
|
+
timeout_ms=timeout_ms,
|
|
1123
|
+
)
|
|
1124
|
+
|
|
1125
|
+
if retries == UNSET:
|
|
1126
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
1127
|
+
retries = self.sdk_configuration.retry_config
|
|
1128
|
+
|
|
1129
|
+
retry_config = None
|
|
1130
|
+
if isinstance(retries, utils.RetryConfig):
|
|
1131
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
1132
|
+
|
|
1133
|
+
http_res = self.do_request(
|
|
1134
|
+
hook_ctx=HookContext(
|
|
1135
|
+
config=self.sdk_configuration,
|
|
1136
|
+
base_url=base_url or "",
|
|
1137
|
+
operation_id="clone-simulator",
|
|
1138
|
+
oauth2_scopes=None,
|
|
1139
|
+
security_source=get_security_from_env(
|
|
1140
|
+
self.sdk_configuration.security, models.Security
|
|
1141
|
+
),
|
|
1142
|
+
tags=["simulators"],
|
|
1143
|
+
extensions=None,
|
|
1144
|
+
),
|
|
1145
|
+
request=req,
|
|
1146
|
+
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
1147
|
+
retry_config=retry_config,
|
|
1148
|
+
)
|
|
1149
|
+
|
|
1150
|
+
response_data: Any = None
|
|
1151
|
+
if utils.match_response(http_res, "201", "application/json"):
|
|
1152
|
+
return unmarshal_json_response(models.CloneSimulatorResponse, http_res)
|
|
1153
|
+
if utils.match_response(
|
|
1154
|
+
http_res,
|
|
1155
|
+
["400", "401", "403", "404", "408", "409", "413", "415", "422"],
|
|
1156
|
+
"application/problem+json",
|
|
1157
|
+
):
|
|
1158
|
+
response_data = unmarshal_json_response(errors.ErrorData, http_res)
|
|
1159
|
+
raise errors.Error(response_data, http_res)
|
|
1160
|
+
if utils.match_response(http_res, ["500", "503"], "application/problem+json"):
|
|
1161
|
+
response_data = unmarshal_json_response(errors.ErrorData, http_res)
|
|
1162
|
+
raise errors.Error(response_data, http_res)
|
|
1163
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
1164
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
1165
|
+
raise errors.ContinuousDefaultError(
|
|
1166
|
+
"API error occurred", http_res, http_res_text
|
|
1167
|
+
)
|
|
1168
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
1169
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
1170
|
+
raise errors.ContinuousDefaultError(
|
|
1171
|
+
"API error occurred", http_res, http_res_text
|
|
1172
|
+
)
|
|
1173
|
+
|
|
1174
|
+
raise errors.ContinuousDefaultError("Unexpected response received", http_res)
|
|
1175
|
+
|
|
1176
|
+
async def clone_simulator_async(
|
|
1177
|
+
self,
|
|
1178
|
+
*,
|
|
1179
|
+
id: str,
|
|
1180
|
+
idempotency_key: str,
|
|
1181
|
+
target_workspace_id: str,
|
|
1182
|
+
name: Optional[str] = None,
|
|
1183
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
1184
|
+
server_url: Optional[str] = None,
|
|
1185
|
+
timeout_ms: Optional[int] = None,
|
|
1186
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
1187
|
+
) -> models.CloneSimulatorResponse:
|
|
1188
|
+
r"""Clone Simulator
|
|
1189
|
+
|
|
1190
|
+
Creates a ready copy of a ready Simulator in another workspace. The clone has a new ID and the source's image digest; the source is unchanged. The source is the caller's workspace: an API key's own workspace, or X-Workspace-Id for a session. An API key may clone into any other workspace of its organization.
|
|
1191
|
+
|
|
1192
|
+
:param id: Source Simulator ID.
|
|
1193
|
+
:param idempotency_key: Stable key for retrying this clone into the target workspace.
|
|
1194
|
+
:param target_workspace_id: Workspace that receives the clone. It must differ from the source workspace.
|
|
1195
|
+
:param name: Display name for the clone. Defaults to the source Simulator's name.
|
|
1196
|
+
:param retries: Override the default retry configuration for this method
|
|
1197
|
+
:param server_url: Override the default server URL for this method
|
|
1198
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
1199
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
1200
|
+
"""
|
|
1201
|
+
base_url = None
|
|
1202
|
+
url_variables = None
|
|
1203
|
+
if timeout_ms is None:
|
|
1204
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
1205
|
+
|
|
1206
|
+
if server_url is not None:
|
|
1207
|
+
base_url = server_url
|
|
1208
|
+
else:
|
|
1209
|
+
base_url = self._get_url(base_url, url_variables)
|
|
1210
|
+
|
|
1211
|
+
request = models.CloneSimulatorRequestRequest(
|
|
1212
|
+
id=id,
|
|
1213
|
+
body=models.CloneSimulatorRequest(
|
|
1214
|
+
idempotency_key=idempotency_key,
|
|
1215
|
+
name=name,
|
|
1216
|
+
target_workspace_id=target_workspace_id,
|
|
1217
|
+
),
|
|
1218
|
+
)
|
|
1219
|
+
|
|
1220
|
+
req = self._build_request_async(
|
|
1221
|
+
method="POST",
|
|
1222
|
+
path="/v1/simulators/{id}/clone",
|
|
1223
|
+
base_url=base_url,
|
|
1224
|
+
url_variables=url_variables,
|
|
1225
|
+
request=request,
|
|
1226
|
+
request_body_required=True,
|
|
1227
|
+
request_has_path_params=True,
|
|
1228
|
+
request_has_query_params=True,
|
|
1229
|
+
user_agent_header="user-agent",
|
|
1230
|
+
accept_header_value="application/json",
|
|
1231
|
+
http_headers=http_headers,
|
|
1232
|
+
security=self.sdk_configuration.security,
|
|
1233
|
+
get_serialized_body=lambda: utils.serialize_request_body(
|
|
1234
|
+
request.body, False, False, "json", models.CloneSimulatorRequest
|
|
1235
|
+
),
|
|
1236
|
+
allow_empty_value=None,
|
|
1237
|
+
timeout_ms=timeout_ms,
|
|
1238
|
+
)
|
|
1239
|
+
|
|
1240
|
+
if retries == UNSET:
|
|
1241
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
1242
|
+
retries = self.sdk_configuration.retry_config
|
|
1243
|
+
|
|
1244
|
+
retry_config = None
|
|
1245
|
+
if isinstance(retries, utils.RetryConfig):
|
|
1246
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
1247
|
+
|
|
1248
|
+
http_res = await self.do_request_async(
|
|
1249
|
+
hook_ctx=HookContext(
|
|
1250
|
+
config=self.sdk_configuration,
|
|
1251
|
+
base_url=base_url or "",
|
|
1252
|
+
operation_id="clone-simulator",
|
|
1253
|
+
oauth2_scopes=None,
|
|
1254
|
+
security_source=get_security_from_env(
|
|
1255
|
+
self.sdk_configuration.security, models.Security
|
|
1256
|
+
),
|
|
1257
|
+
tags=["simulators"],
|
|
1258
|
+
extensions=None,
|
|
1259
|
+
),
|
|
1260
|
+
request=req,
|
|
1261
|
+
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
1262
|
+
retry_config=retry_config,
|
|
1263
|
+
)
|
|
1264
|
+
|
|
1265
|
+
response_data: Any = None
|
|
1266
|
+
if utils.match_response(http_res, "201", "application/json"):
|
|
1267
|
+
return unmarshal_json_response(models.CloneSimulatorResponse, http_res)
|
|
1268
|
+
if utils.match_response(
|
|
1269
|
+
http_res,
|
|
1270
|
+
["400", "401", "403", "404", "408", "409", "413", "415", "422"],
|
|
1271
|
+
"application/problem+json",
|
|
1272
|
+
):
|
|
1273
|
+
response_data = unmarshal_json_response(errors.ErrorData, http_res)
|
|
1274
|
+
raise errors.Error(response_data, http_res)
|
|
1275
|
+
if utils.match_response(http_res, ["500", "503"], "application/problem+json"):
|
|
1276
|
+
response_data = unmarshal_json_response(errors.ErrorData, http_res)
|
|
1277
|
+
raise errors.Error(response_data, http_res)
|
|
1278
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
1279
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
1280
|
+
raise errors.ContinuousDefaultError(
|
|
1281
|
+
"API error occurred", http_res, http_res_text
|
|
1282
|
+
)
|
|
1283
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
1284
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
1285
|
+
raise errors.ContinuousDefaultError(
|
|
1286
|
+
"API error occurred", http_res, http_res_text
|
|
1287
|
+
)
|
|
1288
|
+
|
|
1289
|
+
raise errors.ContinuousDefaultError("Unexpected response received", http_res)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: continuous-labs
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.4
|
|
4
4
|
Summary: Python SDK for the Continuous Simulation API.
|
|
5
5
|
Author: Continuous Labs
|
|
6
6
|
License: MIT
|
|
@@ -227,6 +227,7 @@ with Continuous(
|
|
|
227
227
|
* [delete_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#delete_simulator) - Delete Simulator
|
|
228
228
|
* [get_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#get_simulator) - Get Simulator
|
|
229
229
|
* [cancel_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#cancel_simulator) - Cancel Simulator Build
|
|
230
|
+
* [clone_simulator](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/simulators/README.md#clone_simulator) - Clone Simulator
|
|
230
231
|
|
|
231
232
|
### [Worlds](https://github.com/continuous-labs-ai/continuous-python/blob/master/docs/sdks/worlds/README.md)
|
|
232
233
|
|
|
@@ -34,6 +34,9 @@ src/continuous/models/cancel_worldop.py
|
|
|
34
34
|
src/continuous/models/clockadvance.py
|
|
35
35
|
src/continuous/models/clockadvancemember.py
|
|
36
36
|
src/continuous/models/clockevent.py
|
|
37
|
+
src/continuous/models/clone_simulatorop.py
|
|
38
|
+
src/continuous/models/clonesimulatorrequest.py
|
|
39
|
+
src/continuous/models/clonesimulatorresponse.py
|
|
37
40
|
src/continuous/models/create_simulationop.py
|
|
38
41
|
src/continuous/models/createdsimulation.py
|
|
39
42
|
src/continuous/models/createsimulationrequest.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/errors/continuousdefaulterror.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/errors/responsevalidationerror.py
RENAMED
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/advance_simulationop.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/buildsimulatorrequest.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/create_simulationop.py
RENAMED
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/createsimulationrequest.py
RENAMED
|
File without changes
|
{continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/currentsimulationtoken.py
RENAMED
|
File without changes
|
{continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/delete_simulationop.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/forksimulationrequest.py
RENAMED
|
File without changes
|
{continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/get_simulation_advanceop.py
RENAMED
|
File without changes
|
{continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/get_simulation_tokenop.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/get_world_advanceop.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/list_simulation_stepsop.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/listsimulationsresponse.py
RENAMED
|
File without changes
|
{continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/listsimulationstepsresponse.py
RENAMED
|
File without changes
|
{continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/listsimulatorsresponse.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/simulatorbuildprogress.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/models/specificationvalidation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous/utils/unmarshal_json_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continuous_labs-0.2.3 → continuous_labs-0.2.4}/src/continuous_labs.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|