Skip to content

Commit ca39f62

Browse files
zoo-github-actions-auth[bot]github-actions[bot]jessfraz
authoredMar 12, 2025··
Update api spec (#391)
* YOYO NEW API SPEC! * updates Signed-off-by: Jess Frazelle <[email protected]> * updates Signed-off-by: Jess Frazelle <[email protected]> * updates Signed-off-by: Jess Frazelle <[email protected]> --------- Signed-off-by: Jess Frazelle <[email protected]> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Jess Frazelle <[email protected]>
1 parent 0ff7b17 commit ca39f62

20 files changed

+1152
-435
lines changed
 

‎kittycad.py.patch.json

+407-407
Large diffs are not rendered by default.

‎kittycad/client_test.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
FileVolume,
3737
ImageFormat,
3838
ImportFile,
39-
InputFormat,
39+
InputFormat3d,
4040
ModelingCmd,
4141
ModelingCmdId,
4242
Pong,
@@ -52,7 +52,7 @@
5252
WebSocketRequest,
5353
WebSocketResponse,
5454
)
55-
from .models.input_format import OptionObj
55+
from .models.input_format3d import OptionObj
5656
from .models.modeling_cmd import (
5757
OptionDefaultCameraFocusOn,
5858
OptionImportFiles,
@@ -413,7 +413,7 @@ def test_ws_import():
413413
cmd=ModelingCmd(
414414
OptionImportFiles(
415415
files=[ImportFile(data=content, path=file_name)],
416-
format=InputFormat(
416+
format=InputFormat3d(
417417
OptionObj(
418418
units=UnitLength.M,
419419
coords=System(

‎kittycad/models/__init__.py

+12-2
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
from .camera_drag_start import CameraDragStart
4040
from .camera_movement import CameraMovement
4141
from .camera_settings import CameraSettings
42+
from .camera_view_state import CameraViewState
4243
from .card_details import CardDetails
4344
from .center_of_mass import CenterOfMass
4445
from .client_metrics import ClientMetrics
@@ -67,10 +68,12 @@
6768
from .default_camera_center_to_selection import DefaultCameraCenterToSelection
6869
from .default_camera_focus_on import DefaultCameraFocusOn
6970
from .default_camera_get_settings import DefaultCameraGetSettings
71+
from .default_camera_get_view import DefaultCameraGetView
7072
from .default_camera_look_at import DefaultCameraLookAt
7173
from .default_camera_perspective_settings import DefaultCameraPerspectiveSettings
7274
from .default_camera_set_orthographic import DefaultCameraSetOrthographic
7375
from .default_camera_set_perspective import DefaultCameraSetPerspective
76+
from .default_camera_set_view import DefaultCameraSetView
7477
from .default_camera_zoom import DefaultCameraZoom
7578
from .density import Density
7679
from .der_encoded_key_pair import DerEncodedKeyPair
@@ -83,6 +86,7 @@
8386
from .discount import Discount
8487
from .discount_code import DiscountCode
8588
from .distance_type import DistanceType
89+
from .dxf_storage import DxfStorage
8690
from .edge_lines_visible import EdgeLinesVisible
8791
from .email_authentication_form import EmailAuthenticationForm
8892
from .empty import Empty
@@ -91,6 +95,7 @@
9195
from .engine_util_evaluate_path import EngineUtilEvaluatePath
9296
from .enterprise_subscription_tier_price import EnterpriseSubscriptionTierPrice
9397
from .entity_circular_pattern import EntityCircularPattern
98+
from .entity_clone import EntityClone
9499
from .entity_fade import EntityFade
95100
from .entity_get_all_child_uuids import EntityGetAllChildUuids
96101
from .entity_get_child_uuid import EntityGetChildUuid
@@ -112,6 +117,8 @@
112117
from .error_code import ErrorCode
113118
from .event import Event
114119
from .export import Export
120+
from .export2d import Export2d
121+
from .export3d import Export3d
115122
from .export_file import ExportFile
116123
from .extend_path import ExtendPath
117124
from .extended_user import ExtendedUser
@@ -153,7 +160,7 @@
153160
from .import_file import ImportFile
154161
from .import_files import ImportFiles
155162
from .imported_geometry import ImportedGeometry
156-
from .input_format import InputFormat
163+
from .input_format3d import InputFormat3d
157164
from .invoice import Invoice
158165
from .invoice_line_item import InvoiceLineItem
159166
from .invoice_status import InvoiceStatus
@@ -215,7 +222,8 @@
215222
from .orient_to_face import OrientToFace
216223
from .origin_type import OriginType
217224
from .output_file import OutputFile
218-
from .output_format import OutputFormat
225+
from .output_format2d import OutputFormat2d
226+
from .output_format3d import OutputFormat3d
219227
from .path_command import PathCommand
220228
from .path_component_constraint_bound import PathComponentConstraintBound
221229
from .path_component_constraint_type import PathComponentConstraintType
@@ -273,6 +281,7 @@
273281
from .set_background_color import SetBackgroundColor
274282
from .set_current_tool_properties import SetCurrentToolProperties
275283
from .set_default_system_properties import SetDefaultSystemProperties
284+
from .set_grid_reference_plane import SetGridReferencePlane
276285
from .set_object_transform import SetObjectTransform
277286
from .set_scene_units import SetSceneUnits
278287
from .set_selection_filter import SetSelectionFilter
@@ -363,6 +372,7 @@
363372
from .volume import Volume
364373
from .web_socket_request import WebSocketRequest
365374
from .web_socket_response import WebSocketResponse
375+
from .world_coordinate_system import WorldCoordinateSystem
366376
from .zoo_product_subscription import ZooProductSubscription
367377
from .zoo_product_subscriptions import ZooProductSubscriptions
368378
from .zoo_product_subscriptions_org_request import ZooProductSubscriptionsOrgRequest

‎kittycad/models/async_api_call_output.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
from ..models.api_call_status import ApiCallStatus
88
from ..models.file_export_format import FileExportFormat
99
from ..models.file_import_format import FileImportFormat
10-
from ..models.input_format import InputFormat
10+
from ..models.input_format3d import InputFormat3d
1111
from ..models.ml_feedback import MlFeedback
12-
from ..models.output_format import OutputFormat
12+
from ..models.output_format3d import OutputFormat3d
1313
from ..models.point3d import Point3d
1414
from ..models.source_range_prompt import SourceRangePrompt
1515
from ..models.text_to_cad_model import TextToCadModel
@@ -35,13 +35,13 @@ class OptionFileConversion(BaseModel):
3535

3636
output_format: FileExportFormat
3737

38-
output_format_options: Optional[OutputFormat] = None
38+
output_format_options: Optional[OutputFormat3d] = None
3939

4040
outputs: Optional[Dict[str, Base64Data]] = None
4141

4242
src_format: FileImportFormat
4343

44-
src_format_options: Optional[InputFormat] = None
44+
src_format_options: Optional[InputFormat3d] = None
4545

4646
started_at: Optional[datetime.datetime] = None
4747

‎kittycad/models/camera_view_state.py

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
from typing import List
2+
3+
from pydantic import BaseModel, ConfigDict
4+
5+
from ..models.world_coordinate_system import WorldCoordinateSystem
6+
7+
8+
class CameraViewState(BaseModel):
9+
""""""
10+
11+
eye_offset: float
12+
13+
fov_y: float
14+
15+
is_ortho: bool
16+
17+
ortho_scale_enabled: bool
18+
19+
ortho_scale_factor: float
20+
21+
pivot_position: List[float]
22+
23+
pivot_rotation: List[float]
24+
25+
world_coord_system: WorldCoordinateSystem
26+
27+
model_config = ConfigDict(protected_namespaces=())
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from pydantic import BaseModel, ConfigDict
2+
3+
from ..models.camera_view_state import CameraViewState
4+
5+
6+
class DefaultCameraGetView(BaseModel):
7+
"""The response from the `DefaultCameraGetView` command."""
8+
9+
view: CameraViewState
10+
11+
model_config = ConfigDict(protected_namespaces=())
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from pydantic import BaseModel, ConfigDict
2+
3+
4+
class DefaultCameraSetView(BaseModel):
5+
"""The response from the `DefaultCameraSetView` command."""
6+
7+
model_config = ConfigDict(protected_namespaces=())

‎kittycad/models/dxf_storage.py

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
from enum import Enum
2+
3+
4+
class DxfStorage(str, Enum):
5+
"""Export storage.""" # noqa: E501
6+
7+
"""# Plaintext encoding.
8+
9+
This is the default setting. """ # noqa: E501
10+
ASCII = "ascii"
11+
"""# Binary encoding. """ # noqa: E501
12+
BINARY = "binary"
13+
14+
def __str__(self) -> str:
15+
return str(self.value)

‎kittycad/models/entity_clone.py

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from pydantic import BaseModel, ConfigDict
2+
3+
4+
class EntityClone(BaseModel):
5+
"""The response from the `EntityClone` command."""
6+
7+
model_config = ConfigDict(protected_namespaces=())

‎kittycad/models/export2d.py

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from typing import List
2+
3+
from pydantic import BaseModel, ConfigDict
4+
5+
from ..models.export_file import ExportFile
6+
7+
8+
class Export2d(BaseModel):
9+
"""The response from the `Export2d` endpoint."""
10+
11+
files: List[ExportFile]
12+
13+
model_config = ConfigDict(protected_namespaces=())

‎kittycad/models/export3d.py

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from typing import List
2+
3+
from pydantic import BaseModel, ConfigDict
4+
5+
from ..models.export_file import ExportFile
6+
7+
8+
class Export3d(BaseModel):
9+
"""The response from the `Export3d` endpoint."""
10+
11+
files: List[ExportFile]
12+
13+
model_config = ConfigDict(protected_namespaces=())

‎kittycad/models/file_conversion.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
from ..models.api_call_status import ApiCallStatus
77
from ..models.file_export_format import FileExportFormat
88
from ..models.file_import_format import FileImportFormat
9-
from ..models.input_format import InputFormat
10-
from ..models.output_format import OutputFormat
9+
from ..models.input_format3d import InputFormat3d
10+
from ..models.output_format3d import OutputFormat3d
1111
from ..models.uuid import Uuid
1212
from .base64data import Base64Data
1313

@@ -25,13 +25,13 @@ class FileConversion(BaseModel):
2525

2626
output_format: FileExportFormat
2727

28-
output_format_options: Optional[OutputFormat] = None
28+
output_format_options: Optional[OutputFormat3d] = None
2929

3030
outputs: Optional[Dict[str, Base64Data]] = None
3131

3232
src_format: FileImportFormat
3333

34-
src_format_options: Optional[InputFormat] = None
34+
src_format_options: Optional[InputFormat3d] = None
3535

3636
started_at: Optional[datetime.datetime] = None
3737

‎kittycad/models/input_format.py ‎kittycad/models/input_format3d.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ class OptionStl(BaseModel):
7979
model_config = ConfigDict(protected_namespaces=())
8080

8181

82-
InputFormat = RootModel[
82+
InputFormat3d = RootModel[
8383
Annotated[
8484
Union[
8585
OptionFbx,

0 commit comments

Comments
 (0)
Please sign in to comment.